;Autor: Josef Sniatecki EnableExplicit Define EventID Procedure.i EditorGadgetCursorX(Gadget.i) Protected GadgetID.i = GadgetID(Gadget), Range.CHARRANGE SendMessage_(GadgetID, #EM_EXGETSEL, 0, @Range) ProcedureReturn (Range\cpMax - (SendMessage_(GadgetID, #EM_LINEINDEX, SendMessage_(GadgetID, #EM_EXLINEFROMCHAR, 0, Range\cpMin), 0)) + 1) EndProcedure Procedure.i EditorGadgetCursorY(Gadget.i) Protected GadgetID.i = GadgetID(Gadget), Range.CHARRANGE SendMessage_(GadgetID, #EM_EXGETSEL, 0, @Range) ProcedureReturn SendMessage_(GadgetID, #EM_EXLINEFROMCHAR, 0, Range\cpMin) + 1 EndProcedure If OpenWindow(0,0,0,500,400,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered) TextGadget(1,10,10,WindowWidth(0)-20,30,"Cursorposition X: "+Chr(13)+"Cursorposition Y: ",0) EditorGadget(2,10,50,WindowWidth(0)-20,WindowHeight(0)-60,0) Repeat EventID=WaitWindowEvent() If EventID=#PB_Event_Gadget Select EventGadget() Case 2 SetGadgetText(1,"Cursorposition X: "+Str(EditorGadgetCursorX(2))+Chr(13)+"Cursorposition Y: "+Str(EditorGadgetCursorY(2))) EndSelect EndIf If EventID = #PB_Event_CloseWindow End EndIf ForEver EndIf