Mouse-ul captură

Sistemul posturi de obicei un mesaj mouse-ul în fereastra care conține cursorul hot spot în momentul în care intervine un eveniment mouse-ul. Cererea poate modifica acest comportament utilizând funcția SetCapture ruta mouse-ul mesajelor într-o fereastră specifice. Fereastra primește toate mesajele de mouse până când aplicația apelează funcția ReleaseCapture sau specifică altă captură fereastră, sau până când utilizatorul face clic pe o fereastră creat de un alt fir.

Ori de câte ori mouse-ul capture modificări, sistemul trimite un mesaj WM_CAPTURECHANGED pentru fereastra, care este de a pierde capturarea mouse-ul. Parametrul lParam mesajului specifică mâner fereastra care câștigă capturarea mouse-ul.

Doar fereastra plan frontal poate captura intrare mouse-ul. Când o fereastră de fundal încearcă să captura intrare mouse-ul, acesta primește mesaje numai pentru evenimente mouse-ului care apar atunci când cursorul hot spot în porțiunea vizibilă a ferestrei.

Capturarea intrare mouse-ul este utilă dacă o fereastră trebuie să primească toate intrare mouse-ul, chiar și atunci când cursorul se mută în afara ferestrei. De exemplu, o cerere de obicei urmărește poziția cursorului după un eveniment "buton în jos" mouse-ul, după cursorul până când se produce un eveniment "buton sus". Dacă o cerere nu a capturat intrare mouse-ul și utilizatorul eliberează butonul mouse-ului în afara fereastra, fereastra nu primesc butonul sus mesaj.

Un fir poate utiliza funcția GetCapture pentru a determina dacă una dintre ferestrele sale a capturat mouse-ul. Dacă una dintre ferestre pe firul de execu?ie a capturat mouse-ul, GetCapture preia ghidajul a ferestrei.

Index