ПредишенСледващото

как да се сложи TrackMouseEvent?

предмет
действителната функция извършена правилно без съобщения не идват :( какво да правя.

пиша

Var
# XA0; ТМЕ. tagTRACKMOUSEEVENT;
.
# XA0; tme.cbSize: = sizeof (tagTRACKMOUSEEVENT);
# XA0; tme.dwFlags: = TME_QUERY или TME_HOVER или TME_LEAVE;
# XA0; tme.hwndTrack: = self.Handle;
# XA0; tme.dwHoverTime: = 50; // HOVER_DEFAULT;
# XA0; ако не TrackMouseEvent (ТМЕ) и след това
# XA0; # XA0; somemessage.
# XA0;

След това аз се опитах така

процедура WMMouseHover (VAR Съобщение TMessage.); съобщение WM_MOUSEHOVER;
# XA0; # XA0; процедура WMMouseLeave (VAR Съобщение TMessage.); Съобщението WM_MOUSELEAVE;

както и по този начин

процедура TForm1.NewProc (VAR Съобщение: TMessage);
започвам

# XA0; # XA0; ако Message.Msg = WM_MOUSEHOVER тогава
# XA0; # XA0; Надпис: = "мишката" друго
# XA0; # XA0; ако Message.Msg = WM_MOUSELEAVE тогава
# XA0; # XA0; Надпис: = "остави";
# XA0; # XA0; # XA0;
OldProc (ЛС);
приключи;

И nifiga! = (И аз не го направят.

И къде да го сложите? Тук идеята е това, което: когато се движите мишката върху прозореца, че е необходимо да се движи водачът във всеки един момент да предизвика TME, тогава можем да се изравнят на факта на напускане на прозореца с мишката. При въвеждане на мишката в съобщение прозорец, и така ще дойде.

Възможно primerchik. Аз със сигурност не съвсем Krivorukov, но досега съм дошъл само да задържите курсора на мишката, и то само в прехода между детето и самия прозорец :(
Виждал съм с melkosofta в knoleage база като пример за подражание 95 и повече години NT. Но без да представят невярно можете да направите?

Памет: 0.72 MB
Време: 0.272 гр

Свързани статии

Подкрепете проекта - споделете линка, благодаря!