Seite 1 von 1

Mausposition abfragen...

Verfasst: So, 26. Apr 2020 18:18
von mini990
Hallo,
liegt es am Sonntag oder an der Situation?
Bin heute etwas blind.
Folgende Gegebenheiten:
XBPDialog() mit 3x XbpStatic(), in denen jeweils ein Bild angezeigt wird,
Mit einem Doppelklick auf ein Bild möchte ich eine Aktion auslösen.
Nun mein Problem.....
Wenn ich die Mausposition direkt nach einem Doppelklick abfrage bekomme ich die Position in dem entsprechenden XbpStatic()
Nur woher weiß ich dann, welches Static gemeint ist?
Wenn die Mausposition mit apos() abfrage bekomme ich die Mausposition abhängig von der Bildschirmauflösung zurück,
nicht die des Dialogs.

Hoffe, ich habe mich halbwegs verständlich ausgedrückt....
Wie kann ich das Problem lösen?

Gruß Stefan

Re: Mausposition abfragen...

Verfasst: So, 26. Apr 2020 18:48
von AUGE_OHR
hi

"wie" fragst du die Maus-Position ab ?

XbpStatic hat XbpWindow als SUPER Class und erbt

Code: Alles auswählen

:lbDown := {| aPos, uNIL, self | ... }
ich würde also bei jedem XbpStatic den o:LbDown Slot mit einem Codeblock bestücken.

Re: Mausposition abfragen...

Verfasst: So, 26. Apr 2020 18:55
von Tom
Was Jimmy zu sagen versucht: Jedes XbPart hat einen Slot "LbClick" oder "LbDblClick" (und einige weitere). Die kannst Du direkt belegen.

Code: Alles auswählen

oXbp:=XbpStatic():New()
...
oXbp:LbClick := {||MsgBox('Linksmaustastenklick in mich!')}
Der Codeblock bekommt auch noch das Objekt als (dritten) Parameter, Du kannst damit also gleich hantieren:

Code: Alles auswählen

oXbp:LbClick := {|a,b,o|o:SetCaption('Ich wurde geklickt!')}

Re: Mausposition abfragen...

Verfasst: So, 26. Apr 2020 20:56
von mini990
Hey super, danke!
Funktioniert wie gewollt.
Es gibt Tage, da hat man kein Brett, sondern einen ganzen Baumstamm vorm Kopf!

Schönen Abend noch...

Gruß Stefan

Re: Mausposition abfragen...

Verfasst: So, 26. Apr 2020 21:52
von Tom
:D