OnMouseDown wird nicht erkannt

Benutzeravatar
Winni
Beiträge: 1577
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: OnMouseDown wird nicht erkannt

Beitrag von Winni »

Aloxen hat geschrieben:
Do 19. Jan 2023, 19:02
Diesen Code habe ich mit in den Gameloop gepackt. Das Erfassen der Maus geht, allerdings wird jetzt wieder die FormKeyUp nicht erfasst.

WAAAARUUUUMMMM?

Hallo!

Einfach mal lesen:

Get key state


GetKeystate erfasst keine Events, sondern liefert den Zustand der Abfrage:

Down: -128
Up : 0

So einfach ist das.

Winni

Mathias
Beiträge: 6209
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: OnMouseDown wird nicht erkannt

Beitrag von Mathias »

Ich habe ein bisschen mit Panel.Enable rumprobiert.
Zuerst hatte ich ein leeres Form und habe OnMouseDown hinzugefügt. Dies funktionierte wunderbar. Dann habe ich Panels hinzugefügt und mit Enable rumgespielt. Schon dort hat es sich merkwürdig verhalten. Da habe ich die Panels entfernt. Und jetzt funktioniert OnMouseDown gar nicht mehr.
Dieses Miniprogramm habe ich im Anhang.
Könnt ihr das auch nachvollziehen, das OnMouseDown nicht mehr funktioniert ?
Dateianhänge
test.zip
(2.47 KiB) 66-mal heruntergeladen
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Aloxen
Beiträge: 58
Registriert: Di 31. Mai 2022, 17:40

Re: OnMouseDown wird nicht erkannt

Beitrag von Aloxen »

Winni hat geschrieben:
Do 19. Jan 2023, 20:32
Einfach mal lesen:
Deshalb wunderts mich ja... Eigentlich hat das beides nichts miteinander zu tun.
Ich habe jetzt herausgefunden womit es zusammenhängt. Ich hatte, um zu testen ob GetKeyState die Klicks erfasst eine Showmessage eingebunden. Dadurch wird das Form nicht mehr "Selected" (Ka wie es aus informatischer Sicht heißt), denn das Showmessage Fenster ist jetzt im Vordergrund. Klickt man Das Fenster weg, bleibt das Form1 Fenster "unselected". Ich kann da draufklicken wie ich will, die FormCaption ist immer ausgegraut. Deshalb funktionieren die Key Events nicht mehr.
Nun habe ich das Mausproblem gelöst, denn ich muss ja kein anderes Fenster auf Mausklick öffnen lassen, allerdings stört mich das mit dem Form schon, denn diese "unselected" Form tritt auch dann auf, wenn ich aus dem Fenster per Alt+tab oder einfach mit der Maus aus dem dem Fenster in ein anderes wechsle. Kann es sein, dass ich hier irgendeine Einstellung, irgendein Haken in Form1 nicht gesetzt habe, weshalb ich es nicht wieder anklicken kann?

Benutzeravatar
Niesi
Lazarusforum e. V.
Beiträge: 338
Registriert: So 26. Jun 2016, 19:44
OS, Lazarus, FPC: Linux Mint Cinnamon (Windows wenn notwendig), Lazarus 3.0 FPC 3.3.1

Re: OnMouseDown wird nicht erkannt

Beitrag von Niesi »

Mathias hat geschrieben:
Do 19. Jan 2023, 20:41
Ich habe ein bisschen mit Panel.Enable rumprobiert.
Zuerst hatte ich ein leeres Form und habe OnMouseDown hinzugefügt. Dies funktionierte wunderbar. Dann habe ich Panels hinzugefügt und mit Enable rumgespielt. Schon dort hat es sich merkwürdig verhalten. Da habe ich die Panels entfernt. Und jetzt funktioniert OnMouseDown gar nicht mehr.
Dieses Miniprogramm habe ich im Anhang.
Könnt ihr das auch nachvollziehen, das OnMouseDown nicht mehr funktioniert ?


Mathias: wenn Du das Property "Enabled" von Deinem Form wieder auf "true" setzt, dann geht es ...

Das Problem von Aloxen kann ich nicht nachvollziehen - bei mir ist ein nicht sichtbares Panel kein Hindernis zum Erkennen von MouseDown oder MouseUp, es funktioniert alles, wie es soll: ist das Panel nicht sichtbar, gehen MouseDown und MouseUp an die Form, ist es sichtbar, dann nicht ...

Gruss
Harald
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...

Antworten