Seite 1 von 1
Mehr Events auslösen im EditorGadget?
Verfasst: 24.09.2014 16:09
von Franky
Moin zusammen,
einfache Frage:
Ich habe ein Editorgadget und will fortlaufend die X/Y-Position des Curser in der Statusbar anzeigen.
Funktionen dafür sind vorhanden, kein Problem.
Problem:
Wenn ich den Cursor verschiebe, löst das Gadget kein Event aus.
Muss ich dafür ein spezielles Flag angeben?
Danke und Gruß
Franky
Re: Mehr Events auslösen im EditorGadget?
Verfasst: 24.09.2014 16:19
von RSBasic
Code: Alles auswählen
EnableExplicit
Global lpPrevFunc
Procedure RichEditProc(hWnd, uMsg, wParam, lParam)
Select uMsg
Case #WM_KEYDOWN
Debug "Any key"
EndSelect
ProcedureReturn CallWindowProc_(lpPrevFunc, hWnd, uMsg, wParam, lParam)
EndProcedure
If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
EditorGadget(1, 0, 0, WindowWidth(0), WindowHeight(0), 0)
lpPrevFunc = SetWindowLongPtr_(GadgetID(1), #GWL_WNDPROC, @RichEditProc())
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
End
EndSelect
ForEver
EndIf
Re: Mehr Events auslösen im EditorGadget?
Verfasst: 25.09.2014 10:20
von Shardik
Das Beispiel von RSBasic greift leider zu kurz, weil es nicht die Positionierung des Cursors mit der Maus berücksichtigt. Allerdings hat srod im englischen Forum bereits vor fast 8 Jahren
dieses Beispiel gezeigt, das über eine Event-Maske alle Tastatur- und Maus-Events auswertet und die Cursor-Position in einem Callback auch noch in Zeilen- und Spalten-Position umrechnet...

Re: Mehr Events auslösen im EditorGadget?
Verfasst: 28.09.2014 02:09
von Franky
Danke ihr 2 (bzw. inkl. srod 3),
durch die Beispiele konnte ich mein Problem lösen, auch wenn ich es letztendlich durch einen Timer gelöst habe
Gruß
Franky