Come utilizzare una casella combinata in MFC

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.

istruzione

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.

Consigli e avvertenze

  • L'unica volta che si deve preoccupare di distruggere una casella combinata è che se si crea sul mucchio. Se si chiama l'operatore "nuovo", è necessario chiamare "delete" a pulizia.