Deutsch
Forum

Maustastenabfrage in Gridbox

 

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.
 
12.06.2014  
 




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
 
XProfan X2
Windows 8.1 Pro, AMD FX(tm)-8350 Eight-Core Processor, 16365,20 MB

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
12.06.2014  
 




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.
 
12.06.2014  
 




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  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

6.577 Betrachtungen

Unbenanntvor 0 min.
Gast.081515.07.2024
RudiB.11.09.2022
H.Brill26.01.2022
ByteAttack02.12.2018
Mehr...

Themeninformationen

Dieses Thema hat 3 Teilnehmer:

maroro (2x)
H.Brill (1x)
Julian Schmidt (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie