Selezione corrente

La selezione corrente un elemento dell'elenco selezionato dall'utente; il testo selezionato viene visualizzato nel campo di selezione della casella combinata. Tuttavia, nel caso di una casella combinata semplice o una casella combinata a discesa, la selezione corrente solo una forma di input dell'utente possibili in una casella combinata. L'utente inoltre possibile digitare il testo nel campo di selezione.

La selezione corrente identificata dall'indice in base zero dell'elemento di elenco selezionato. Un'applicazione pu impostare e recuperare in qualsiasi momento. La procedura padre finestra o finestra di dialogo casella riceve notifiche quando l'utente modifica la selezione corrente per una casella combinata. La casella di finestra o finestra di dialogo genitore non notificata quando l'applicazione modifica la selezione.

Quando viene creata una casella combinata, non non c' nessuna selezione corrente. Questo vale anche per una casella combinata semplice o discesa, se l'utente ha modificato il contenuto del campo di selezione. Per impostare la selezione corrente, un'applicazione invia il messaggio CB_SETCURSEL alla casella combinata. Un'applicazione pu utilizzare anche il messaggio CB_SELECTSTRING per impostare la selezione corrente su una voce dell'elenco cui stringa inizia con una stringa specificata. Per determinare la selezione corrente, un'applicazione invia il messaggio CB_GETCURSEL alla casella combinata. Se non non c' nessuna selezione corrente, questo messaggio restituisce CB_ERR.

Quando l'utente modifica la selezione corrente in una casella combinata, la procedura di finestra o dialogo padre riceve un messaggio WM_COMMAND con il messaggio di notifica CBN_SELCHANGE nella parola del parametro wParam significativi. Questo messaggio di notifica non viene inviato quando la selezione corrente viene impostata utilizzando il messaggio di CB_SETCURSEL.

Una casella combinata a discesa o casella di riepilogo a discesa Invia la notifica di CBN_CLOSEUP alla procedura di finestra o dialogo padre quando si chiude l'elenco a discesa. Se l'utente modifica la selezione corrente, la casella combinata anche invia notifica CBN_SELCHANGE quando si chiude l'elenco a discesa. Per eseguire un processo specifico ogni volta che l'utente seleziona una voce di elenco, possibile gestire il messaggio di notifica CBN_SELCHANGE o CBN_CLOSEUP. In genere, attenderebbe per la notifica di CBN_CLOSEUP prima di elaborare un cambiamento nella selezione corrente. Questo pu essere particolarmente importante se una quantit significativa di elaborazione necessaria.

Un'applicazione potrebbe inoltre elaborare i messaggi di notifica, CBN_SELENDOK e CBN_SELENDCANCEL. Il sistema invia CBN_SELENDOK quando l'utente seleziona una voce dell'elenco, oppure seleziona un elemento e quindi chiude l'elenco. Questo indica che l'utente ha terminato, e la selezione deve essere elaborata. CBN_SELENDCANCEL viene inviato quando l'utente seleziona una voce, ma poi sceglie un altro controllo, preme il tasto di fuga mentre l'elenco a discesa aperto, o si chiude la finestra di dialogo. Questo indica che la selezione dell'utente deve essere ignorata. In una casella combinata semplice, CBN_SELENDOK viene inviato prima di ogni messaggio CBN_SELCHANGE. Se per la casella combinata viene specificato lo stile della finestra WS_EX_NOPARENTNOTIFY, il sistema non invia messaggi CBN_SELENDOK e CBN_SELENDCANCEL.

In una casella combinata semplice, il sistema invia il messaggio di notifica CBN_DBLCLK quando l'utente fa doppio clic su una voce dell'elenco. In una casella combinata a discesa o l'elenco a discesa, un singolo clic nasconde l'elenco, quindi non possibile fare doppio clic su un elemento.