Deutsch
Forum

Listbox:Usermessages, gut dann also Usermessages

 
Listbox:Usermessages, gut dann also Usermessages 

Test: Doppelklick auf Listbox
KompilierenMarkierenSeparieren
Was mach ich falsch?
 
13.09.2006  
 




RGH
iF
Was mach ich falsch?


Du nimmst an, daß die Listbox den Doppelklick als solchen erkennt und an das Hauptfenster weiterleitet. (Nur dessen Messages bekommst Du ja schließlich mit.)
Dem ist aber nicht so. (Windows kann intern manchmal recht kompliziert sein. ;) )
Beim Hauptfenster kommt lediglich wm_Notify bzw. wm_ParentNotify an. Du solltest also wm_ParentNotify zur UserMessage machen. Wenn also %umessage = $210 ist, dann befindet sich in &uWParam die Message des benachrichtigenden Kindfensters.
Für Dein Beispiel hat die Sache nur einen Haken: Die Listbox reagiert nicht auf Doppelklick und meldet diesen daher auch nicht weiter. Wenn Du aber zum Beispiel mit dem einfachen Rechtsklick vorliebnimmst, geht der folgende Code:
KompilierenMarkierenSeparieren
Gruß
Roland
(hat für RC5 aber noch ein paar Nettigkeiten parat, wie etwa %ChildMessage und das Durchreichen der Mauskoordinaten bei Rechtsklick auf Dialogelemente ...)
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
13.09.2006  
 



Soweit sogut, wird es denn mit %ChildMessage  möglich sein einen Doppelklick abzufragen oder steh ich auf der Leitung?
 
13.09.2006  
 




RGH
iF
Soweit sogut, wird es denn mit %ChildMessage  möglich sein einen Doppelklick abzufragen?


Leider nein, da die Listbox nicht auf Doppelklick reagiert und diesen immer als zwei Klicks auffaßt und über diese brav das Elternfenster informiert.

Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
13.09.2006  
 




RGH
Mit %ChildMessage sieht das obige Programm so aus:
KompilierenMarkierenSeparieren
Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
13.09.2006  
 



Ah verstehe! Auf die Gefahr hin das ich Dich mit dem Doppelklick nerve (Hey Doppelklick auf Listbox - kanns doch nicht sein! Macht jeder User - will jeder Proggen...) kann es sein das dieser mit der vielleicht irgendwann in XProfan erscheinenden ON( - Funktionalität abprüfbar ist?
 
13.09.2006  
 




RGH
iF
Ah verstehe! Auf die Gefahr hin das ich Dich mit dem Doppelklick nerve (Hey Doppelklick auf Listbox - kanns doch nicht sein! Macht jeder User - will jeder Proggen...) kann es sein das dieser mit der vielleicht irgendwann in XProfan erscheinenden ON( - Funktionalität abprüfbar ist?


Ich werde mich bemühen ....

Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
13.09.2006  
 




Sebastian
König
Hallo iF,

Lässt sich ein Doppelklick auf eine ListBox nicht einfach dadurch Abfangen, dass man WM_COMMAND als UserMessage angibt und auf LBN_DBLCLK wartet?

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
13.09.2006  
 




RGH
Es hat mir doch keine Ruhe gelassen. ;) So wird es in RC5 gehen:
KompilierenMarkierenSeparieren
Doppelklick in einer Listbox führt zu %key  = 3!

Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
13.09.2006  
 




Frank
Abbing
Ich kapsele solche Abfragen doch immer als Assembler-Sublassing-Code, mir wäre es egal. Aber nimm doch auch gleich den Doppel-Rechts-Klick mit ins Boot, evantuelle auch einen Doppel-Mitte-Klick...
 
13.09.2006  
 




Doppelklick in Listbox führt zu %key  = 3!


Ich halte diese Kleinigkeit für eine der wichtigsten Erweiterungen des XProfan10!
 
13.09.2006  
 




RGH
Sebastian König
Hallo iF,

Lässt sich ein Doppelklick auf eine ListBox nicht einfach dadurch Abfangen, dass man WM_COMMAND als UserMessage angibt und auf LBN_DBLCLK wartet?

MfG

Sebastian


Im Prinzip JA. Wenn HiWord(&wParam) dann LBN_DBLCLK (=2) ist (und getFocus() die Listbox ermittelt), gab es den Doppelklick, aber:
Mit wm_Command als Usermessage wäre ich vorsichtig, denn dann geht außer dem Abfangen des Doppelklicks fast nichts mehr, außer man wertet &wParam und &lParam selbst aus, um Menüklicks, Toolbarklicks, Buttonklicks, Mausposition, gedrückter Mausknopf und dergleichen mehr in Erfahrung zu bringen.

Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
13.09.2006  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

1.527 Betrachtungen

Unbenanntvor 0 min.
H.Brill20.05.2023
RudiB.08.05.2021
Manfred Barei28.12.2020
lange-jens15.10.2019
Mehr...

Themeninformationen



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