Mehr Events auslösen im EditorGadget?

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Franky
Beiträge: 1132
Registriert: 29.08.2004 16:31
Wohnort: Münsterland
Kontaktdaten:

Mehr Events auslösen im EditorGadget?

Beitrag 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
Falsch zugeordnetes Zitat des Tages: "O'zapft is" - Edward Snowden :)
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Mehr Events auslösen im EditorGadget?

Beitrag 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
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Shardik
Beiträge: 746
Registriert: 25.01.2005 12:19

Re: Mehr Events auslösen im EditorGadget?

Beitrag 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... :wink:
Benutzeravatar
Franky
Beiträge: 1132
Registriert: 29.08.2004 16:31
Wohnort: Münsterland
Kontaktdaten:

Re: Mehr Events auslösen im EditorGadget?

Beitrag 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 :lol:

Gruß

Franky
Falsch zugeordnetes Zitat des Tages: "O'zapft is" - Edward Snowden :)
Antworten