Mausbewegung
-
hi,
ich zeichne in eine TreeView verschiedene Controls, so wie das z.B. im UnrealED der Fall ist. Wie bekomme ich mit, wenn die Maus über diesen Bereichen ist?
WM_MOUSEMOVE von der TreeView funktioniert genau so wenig wie WM_NCMOUSEMOVE
thxia
-
Sicher funktioniert WM_MOUSEMOVE! Das geht solange kein anderes Programm ein SetCapture durchführt. Wier sonst sollte sonst ein Higlighting der aktiven Konten beim "Hovern" funktionieren?
Oder geht es Dir dabei hier während eine Drag&Drop Vorgangs die Nachrichten zu empfangen?
-
sorry, aber es geht wirklich nicht^^
PS: gibts noch andre als dich ?
lölz
-
Was geht nicht?
Beschreibe genau wann WM_MOUSEMOVE Nachrichten nicht kommen. Schmeiß den Spy++ an und kontrolliere es...
-
da kommen viele schöne nutzlose Infos, und?
ich will's mitbekommen, wenn die Maus über einem Control ist.
hier die Inits:
[cpp]if(!Edit.Create(ES_AUTOHSCROLL,CRect(0,0,10,10),this,IDEDIT)) return -1; if(!ComboBox.Create(WS_VSCROLL|CBS_DROPDOWNLIST,CRect(0,0,10,10),this,IDCOMBOBOX)) return -1; if(!Button.Create("TMP",NULL,CRect(0,0,10,10),this,IDBUTTON)) return -1; if(!Slider.Create(NULL,CRect(0,0,10,10),this,IDSLIDER)) return -1;[/cpp]EDIT: die Position wird natürlich entsprechend verändert während der Laufzeit!!
-
ESS_CB schrieb:
da kommen viele schöne nutzlose Infos, und?
Und: Hast Du Dir das Fenster schon mal mit Spy++ angeschaut? Ist da ein WM_MOUSEMOVE dabei?
Bei mir kommen das Millionen von WM_MOUSEMOVE an...
ADD: So langsam verstehe ich: Du hast Control im TreeView drin... dann musst Du diese Controls auch Subclassen und dann bekommst Du dort die WM_MOUSEMOVE...
-
ehm, Subclassen????

aber Danke schonmal, dass jemand mein Problem versteht^^
-
Ach so... Du hast ja MFC, dann musst Du einfach die Controls ableiten..., oder Martin?
-
So ist es. Einfach die Controls ableiten. Das ist mit Sicherheit die einfachste Möglichkeit. Subclassing würde ich nur dann machen, wenn ich das selbe Handling für alle Subcontrols benötige. Dazu verwende ich jedoch auch meistens entsprechende Klassen wie CSubclassWnd und CHookWnd (o.ä. siehe www.naughter.com)...
-
hä? ich soll die Controls von CTreeView ableiten??????

-
Nein!
z.B.class CMyButton : public CButton { ... }Dann kannst Du für diesen Button einen eigenen WM_MOUSEMOVE Handler verwenden, oder Du verwendest einen Hook!
-
gut, verstanden, thx