Stilul WS_GROUP

În mod implicit, sistemul mută focalizarea intrare controlul următor sau anterior ori de câte ori utilizatorul apasă o tastă de direcție. În măsura în care controlul curente cu focalizarea intrare nu prelucrează aceste chei și controlul următor sau anterior nu este un control statică, sistemul continuă pentru a deplasa focalizarea intrare prin toate controalele în caseta de dialog ca utilizatorul continuă să apăsați tastele de direcție.

Cererea poate utiliza stilul WS_GROUP pentru a modifica acest comportament implicit. Stilul marchează începutul unui grup de controale. Dacă un control din grup are focalizarea intrare atunci când utilizatorul începe apăsând tastele de direcție, se concentreze rămâne în grup. În general, primul control dintr-un grup trebuie să aibă stil WS_GROUP și toate alte controale din grup trebuie să nu au acest stil. Toate controalele din grup trebuie să fie contigue-care este, ei trebuie să au fost create consecutiv cu controale nu intervine.

Atunci când utilizatorul apasă o tastă de direcție, sistemul prima determină dacă controlul curent având accentul intrare procesele tastele de direcție. Sistemul trimite un mesaj WM_GETDLGCODE pentru controlul ?i dacă controlul întoarce valoarea DLGC_WANTARROWS, trece tasta control. În caz contrar, sistemul utilizează funcția GetNextDlgGroupItem pentru a stabili controlul următoare în grupul de.

GetNextDlgGroupItem caută controale pentru (sau ordine inversă) care au fost create. Dacă utilizatorul apasă dreptul sau apăsată tasta, GetNextDlgGroupItem întoarce controlul următor dacă acel control nu nu au WS_GROUP stil. Altfel, funcția inversează ordinea de căutare și întoarce controlul primul care are stilul WS_GROUP. În cazul în care utilizatorul apasă stânga sau tasta, funcția întoarce controlul anterioare, cu excepția cazului în care controlul curent are deja stilul WS_GROUP. În cazul în care controlul curent are acest stil, funcția inversează ordinea de căutare, localizează primul control având stilul WS_GROUP și întoarce controlul imediat precede controlul situat.

După ce sistemul a controlul următor sau anterior, se trimite un mesaj de WM_GETDLGCODE de control pentru a determina tipul de control. Sistemul apoi mută focalizarea intrare pentru a controla dacă nu este un control statice. Dacă controlul este un buton radio automată, sistemul trimite un mesaj BM_CLICK sa. O cerere, de asemenea, puteți utiliza GetNextDlgGroupItem pentru a localiza controale într-un grup.

În general, primul control în grupul combină stilurile WS_GROUP și WS_TABSTOP astfel încât utilizatorul poate muta din grup pentru a grupa utilizând tasta tab. Dacă grupul conține butoane radio, cererea se aplică stilul WS_TABSTOP numai primul control din grup. Sistemul automat se mută stilul atunci când utilizatorul mișcă între controalele din grup. Acest lucru asigură că accentul intrare va fi întotdeauna privind controlul selectat cel mai recent atunci când utilizatorul se mută la grupul utilizând fila cheie.

Index