Lo stile WS_GROUP

Per impostazione predefinita, il sistema di sposta lo stato attivo per l'input al controllo successivo o precedente ogni volta che l'utente preme un tasto di direzione. Fintanto che il controllo corrente con lo stato attivo per l'input non elabora questi tasti e il controllo successivo o precedente non è controllo statico, il sistema continua a muoversi stato attivo per l'input attraverso tutti i controlli nella finestra di dialogo, come l'utente continua a premere i tasti di direzione.

Un'applicazione può utilizzare lo stile WS_GROUP per modificare questo comportamento predefinito. Lo stile segna l'inizio di un gruppo di controlli. Se un controllo del gruppo è stato attivo per l'input quando l'utente inizia premendo i tasti di direzione, la messa a fuoco rimane nel gruppo. In generale, il primo controllo in un gruppo deve avere lo stile WS_GROUP e tutti gli altri controlli nel gruppo devono non hanno questo stile. Tutti i controlli nel gruppo devono essere contigui — cioè, deve essere stati creati consecutivamente con nessuna intercorso controlli.

Quando l'utente preme un tasto di direzione, il sistema determina innanzitutto se il controllo corrente con lo stato attivo per l'input elabora i tasti di direzione. Il sistema invia un messaggio a WM_GETDLGCODE al controllo e se il controllo restituisce il valore DLGC_WANTARROWS, passa la chiave al controllo. In caso contrario, il sistema utilizza la funzione GetNextDlgGroupItem per determinare il controllo successivo nel gruppo.

GetNextDlgGroupItem cerca controlli in ordine (o ordine inverso) sono stati creati. Se l'utente preme il diritto o tasto, GetNextDlgGroupItem restituisce il controllo successivo se tale controllo non non hanno WS_GROUP stile. In caso contrario, la funzione inverte l'ordine della ricerca e restituisce il primo controllo che ha lo stile WS_GROUP. Se l'utente preme la sinistra o sulla chiave, la funzione restituisce il controllo precedente, a meno che il controllo corrente ha già lo stile WS_GROUP. Se il controllo corrente ha questo stile, la funzione inverte l'ordine della ricerca, individua il primo controllo avendo lo stile WS_GROUP e restituisce il controllo che precede immediatamente il controllo trovano.

Una volta che il sistema ha il controllo successivo o precedente, Invia un messaggio WM_GETDLGCODE al controllo per determinare il tipo di controllo. Il sistema quindi sposta lo stato attivo per l'input al controllo se non si tratta di controllo statico. Se il controllo è un pulsante di opzione automatica, il sistema invia un messaggio a BM_CLICK ad esso. Un'applicazione può anche utilizzare GetNextDlgGroupItem per individuare i controlli in un gruppo.

In generale, il primo controllo nel gruppo combina gli stili WS_GROUP e WS_TABSTOP in modo che l'utente può muoversi da gruppo a gruppo utilizzando il tasto tab. Se il gruppo contiene pulsanti di opzione, l'applicazione deve applicare lo stile WS_TABSTOP solo per il primo controllo del gruppo. Il sistema si sposta automaticamente lo stile quando l'utente si sposta tra i controlli nel gruppo. Ciò garantisce che lo stato attivo per l'input sarà sempre sul controllo più recentemente selezionato quando l'utente sposta al gruppo utilizzando il tasto tab.

Rimedio: Inserire il CD-ROM CD di MSDN Library.

Index