| |
|
|
maroro | Ich möchte auf die Titelzeile einer Gridbox klicken und das auslesen können Maus X Y ist schon gelöst nur der Linksklick nicht. Die Aktion hat mit der Gridbox nichts zu tun nur befindet sie sich unter der Klickstelle weshalb die normalen abfraben nicht funktionieren. Ich habe lange gesucht und viel gefunden aber nichts scheint auf mein Problem zu passen. |
|
|
| |
|
|
|
Julian Schmidt | Hast du es schon über Messages probiert?
WM_LBUTTONDOWN = $0201; WM_LBUTTONUP = $0202; WM_LBUTTONDBLCLK = $0203; WM_RBUTTONDOWN = $0204; WM_RBUTTONUP = $0205; WM_RBUTTONDBLCLK = $0206; WM_MBUTTONDOWN = $0207; WM_MBUTTONUP = $0208; WM_MBUTTONDBLCLK = $0209;
Das geht entweder per Usermessages oder auch per Subclassing.
Für letzteres hier ein Beispiel: KompilierenMarkierenSeparieren $H Messages.ph
Declare Handle fenster, Status
Declare Memory L
Dim L, 4' für Statuswindow (nur 1 Feld)
Long L, 0 = -1
SubClassProc
If SubClassMessage(fenster, ~WM_RBUTTONDOWN)' rechte Maustaste
SetMenuItem 2000
ElseIf SubClassMessage(fenster, ~WM_LBUTTONDOWN)' Linke Maustaste
SetMenuItem 2001
ElseIf SubClassMessage(fenster, ~WM_MBUTTONDOWN)' Mittlere Maustaste
SetMenuItem 2002
EndIf
EndProc
WindowStyle 512 + 8' Dialogstil + Systemmenü
fenster = Create("Window", %HWnd, "Mein Fenster", 100, 50, 800, 400)
Status = @Create("StatusWindow", fenster,"", 1,L)
SubClass fenster, 1
While 1
Waitinput
Case %Key = 2 : Break' Schließen-Kreuz gedrückt.
If MenuItem(2000)
SetText Status, 0, "Rechte Maustaste"
ElseIf MenuItem(2001)
SetText Status, 0, "Linke Maustaste"
ElseIf MenuItem(2002)
SetText Status, 0, "Mittlere Maustaste"
EndIf
Wend
SubClass fenster, 0
Dispose L
End
|
|
|
| |
|
|
|
maroro | Ja UserMessages gehen nicht aber ich habe nun doch eine Lösung gefunden. Ja Subclassing könnte evtl. auch gehen ist aber im Vergleich zu meiner aktuellen Lösung sehr aufwendig. Irgendwie blickt man dann besser durch wenn man es mal geschrieben hat.
Die Lösung ist %notifycode der bei mir -16 auswirft wenn ich links drücke. Im normal liegt er bei -121 und schon kann man was auswerten. |
|
|
| |
|
|
|
H.Brill | maroro (12.06.14)
Ich möchte auf die Titelzeile einer Gridbox klicken und das auslesen können Maus X Y ist schon gelöst nur der Linksklick nicht. Die Aktion hat mit der Gridbox nichts zu tun nur befindet sie sich unter der Klickstelle weshalb die normalen abfraben nicht funktionieren. Ich habe lange gesucht und viel gefunden aber nichts scheint auf mein Problem zu passen.
Was ist das denn für eine Titelzeile einer Gridbox ? Die Gridboxen, die ich kenne, haben Spaltenbuttons. Meinst du diese ?
Dann wären die LVM_ - Messages interessant. z.B. LVM_GETHEADER = ~LVM_FIRST + 31; |
|
|
| Benutze XPROFAN X3 + FREEPROFAN Wir sind die XProfaner. Sie werden von uns assimiliert. Widerstand ist zwecklos! Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
Was die Borg können, können wir schon lange. | 12.06.2014 ▲ |
|
|
|