Mouse-Message
-
Gibt es eine Message, die an ein NICHT aktives Fenster geschickt wird, wenn man Mousetaste betätigt?
-
was hast du genau vor? willst du die combobox liste verschwinden lassen, wenn man daneben klickt?
-
du musst die maus hook'en
-
@-
ja, genau
-
Dann WM_ACTIVATE
-
mit WA_INACTIVE
-
@-
geht ja nicht, denn das fenster ist eigentlich gar nicht aktiv
-
Doch, es ist aktiv
-
1. es ist nicht aktive
2. mit WM_ACTIVATE habe ich bereits experementiert
-
Ok, dann hab ich es mir wohl falsch vorgestellt. Ich habs jedenfalls so hinbekommen, wie ich es mir gedacht habe...
-
kannst du mal zeigen?
-
"willst du die combobox liste verschwinden lassen, wenn man daneben klickt?"
hol die die koordinaten der box und prüf bei mouse klicks ob sei innerhalb oder ausserhalb der box waren...
-
sorry
-
ich weiß nämlich nicht wie man das hinbekommt. aus der beschreibung dich vorher im bcb forum gepostet hab:
Instead, each ComboLBox window is a child of the desktop window.
-
SetCapture()
-
SetCapture geht aber nur wenn man die Maustaste gedrückt hält
-
Original erstellt von <Felix>:
SetCapture geht aber nur wenn man die Maustaste gedrückt hältQuatsch!
-
Quatsch!
Nein
-
Mein lieber Felix,
doch. Das ist Quatsch! Denn ich habe bereits SetCapture() verwendet, um z.B. auf einen Klick außerhalb eines PopupMenus zu warten, damit ein gedrückter Button (OwnerDrawn) bei diesem Klick wieder in seinen normalen Zustand zurückbefördert wird.
Und außerdem: Wozu sollte sonst SetCapture da sein??? Wenn man in sein eigenes Fenster klickt, geklickt lässt, und dann den Cursor über ein fremdes Fenster (z.B. Desktop) bewegt und loslässt, dann erhält man trotzdem die Nachricht WM_LBUTTONUP.[ Dieser Beitrag wurde am 01.04.2003 um 23:42 Uhr von WebFritzi editiert. ]
-
@<WebFritzi>: Wo hast du denn SetCapture aufgerufen? Ich wollte das ausprobieren und hab es in WM_CREATE geschrieben. Aber dann ändert sich der Cursor in einen Lade-Cursor. Und das ist ja nicht gerade schön.