August 13
Un controllo casella combinata mostra una lista di stringhe in stile menu a discesa. Fornendo un modo per mostrare più opzioni e risparmio di spazio, una casella combinata combina le funzionalità di una casella di riepilogo e una casella di modifica. Le funzionalità del controllo casella combinata sono incapsulati nella classe CComboBox della Microsoft Foundation Class Library. Questo tutorial mostra alcune caratteristiche comunemente usate di questa classe.
1 Avviare Microsoft Visual Studio. Generare un'applicazione alle finestre base di questo progetto facendo clic su File> Nuovo> Progetti (scheda), e selezionando "Creazione guidata applicazione MFC (exe)." Tipo "myComboBox" sotto "Nome del progetto." Premere OK, selezionare "Dialog based" e fare clic su Fine.
2 Creare una casella combinata e modificarne le proprietà. Fare clic sulla scheda Risorse sul lato sinistro dell'area di lavoro. Espandere la cartella di dialogo e selezionare IDD_MYCOMBOBOX_DIALOG. Fare clic sull'icona casella combinata dalla casella degli strumenti sul lato destro e metterlo nella finestra di dialogo. Ridimensionare la discesa estendersi della casella combinata facendo clic sulla freccia e trascinando verso il basso il rettangolo. Quindi fare clic destro, selezionare Proprietà, fare clic sulla scheda Stili e, in Tipo, selezionare semplice. Chiudere la finestra Proprietà casella combinata.
3 Aggiungere elementi alla casella combinata. È possibile farlo in due modi. Per aggiungerli in fase di progettazione, fare clic destro sulla casella combinata, selezionare Proprietà, fare clic sulla scheda Dati e aprire le voci. Per arrivare alla voce successiva, premere Ctrl + Invio. Per aggiungerli in fase di esecuzione, chiamare il CComboBox :: AddString () per aggiungere elementi alla fine o CComboBox :: insertString () per l'inserimento di elementi in posizione specifica. Le voci sono di tipo lpszString.
4 Modificare la larghezza della casella combinata in modo dinamico. È possibile visualizzare qualsiasi elemento completamente, non importa quanto tempo è, grazie alla funzione di membro CComboBox :: SetDroppedWidth (). Prende come parametro la larghezza della stringa in pixel.
5 Eseguire altre funzioni comuni. Selezionare un elemento in fase di esecuzione utilizzando CComboBox :: SetCurSel (). Esso accetta come parametro un indice intero. Trova l'indice della voce selezionata con CComboBox :: GetCurSel (). Recuperare i dati utilizzando CComboBox :: GetItemData (). Determinare il conteggio di articolo attraverso CComboBox :: GetCount ().
6 Eliminare articoli di un dialogo MFC combinata. Se la stringa è noto, è possibile utilizzare CComboBox :: FindString () per determinare l'indice e quindi utilizzare CComboBox :: deletestring (). CComboBox :: Clear () cancella la selezione corrente se del caso, mentre CComboBox :: Cut () elimina la selezione corrente e la mette negli appunti.
7 Comprendere i messaggi di notifica di mappa dei messaggi che una casella combinata può inviare. Quando casella di riepilogo della casella combinata è chiuso, per esempio, ON_CBN_CLOSEUP viene inviato. Quando la casella combinata perde il suo orientamento in ingresso a causa di un clic del mouse al di fuori dei suoi confini, invia ON_CBN_KILLFOCUS. C'è un messaggio-map per ogni possibile stato cambiamento che una casella combinata può subire.