Cum să pun trackmouseevent

cum să pun TrackMouseEvent?

un subiect
de fapt, funcția este executată corect mesajele nu vin: (cum să fie.

Eu scriu

var
# xA0; tme. tagTRACKMOUSEEVENT;
.
# xA0; tme.cbSize: = dimensiunea (tagTRACKMOUSEEVENT);
# xA0; tme.dwFlags: = TME_QUERY sau TME_HOVER sau TME_LEAVE;
# xA0; tme.hwndTrack: = auto.Handle;
# xA0; tme.dwHoverTime: = 50; // HOVER_DEFAULT;
# xA0; dacă nu TrackMouseEvent (tme) atunci
# xA0; # xA0; somemessage.
# xA0;

apoi a încercat așa

procedură WMMouseHover (mesajul de mesaj, mesajul TM); mesajul WM_MOUSEHOVER;
# xA0; # xA0; procedura WMMouseLeave (mesaj var .Message); mesajul WM_MOUSELEAVE;

dar exact așa

procedura TForm1.NewProc (mesaj var: TMessage);
începe

# xA0; # xA0; dacă Message.Msg = WM_MOUSEHOVER atunci
# xA0; # xA0; Caption: = "hover" altceva
# xA0; # xA0; dacă Message.Msg = WM_MOUSELEAVE atunci
# xA0; # xA0; Subtitlu: = "plecare";
# xA0; # xA0; # xA0;
OldProc (Mesaj);
se încheie;

Și NIPHIGA! = (și nu asta fac.

Și unde îl puneți? Aici ideea este: atunci când mutați mouse-ul deasupra ferestrei, trebuie să apelați TME în mânerul de mișcare tot timpul, atunci puteți prinde faptul că mouse-ul părăsește fereastra. Când mouse-ul intră în fereastră, mesajul va veni.

O probă poate. Cu siguranță nu sunt complet timid, dar până acum nu am decât o hover, și numai când trec între copil și fereastră :(
Am văzut melkoosofta în baza knoleage, așa cum este emulată pe 95 și vechi nt. Dar fără nici o distorsiune, puteți face asta?

Memorie: 0,72 MB
Timp: 0.272 secunde

Articole similare