Nwlapcug.com


Come utilizzare una casella combinata in MFC

Un controllo casella combinata Mostra un elenco di stringhe in stile menu a discesa. Fornendo un modo per mostrare più opzioni mentre il 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 incapsulate nella classe CComboBox di Microsoft Foundation Class Library. Questa esercitazione illustra che alcuni comunemente utilizzati caratteristiche di questa classe.

Istruzioni

1

Avviare Microsoft Visual Studio. Generare un'applicazione basata su finestra di dialogo per questo progetto facendo clic su File > New > progetti (scheda) e selezionando "MFC AppWizard (exe)." Digitare "MyCombobox" sotto "Nome progetto". Premere OK, selezionare "Finestra di dialogo basato" 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 finestra 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 l'Estendi elenco a discesa 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 di proprietà delle caselle combinate.

3

Aggiungere elementi alla casella combinata. È possibile farlo in due modi. Per aggiungerli in fase di progettazione, pulsante destro del mouse sulla casella combinata, scegliere Proprietà, fare clic sulla scheda dati e inserire gli elementi. Per ottenere l'elemento successivo, premere Ctrl + Invio. Per aggiungerli in fase di esecuzione, è necessario chiamare il CComboBox per l'aggiunta di elementi alla fine o CComboBox::InsertString() per l'inserimento di elementi in posizione specifica. Gli elementi 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 di 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(). Accetta come parametro un indice di integer. Trovare l'indice dell'elemento selezionato con CComboBox::GetCurSel(). Recuperare dati tramite CComboBox::GetItemData(). Determinare il numero di elementi attraverso CComboBox::GetCount().

6

Eliminare elementi da una casella combinata di MFC. Se la stringa è noto, è possibile utilizzare CComboBox::FindString() per determinare l'indice e quindi utilizzare CComboBox::DeleteString(). CComboBox::Clear() Elimina la selezione corrente se qualsiasi, mentre CComboBox::Cut() rimuove la selezione corrente e lo inserisce negli Appunti.

7

Capire i messaggi di notifica di mappa messaggi che puoi inviare una casella combinata. Quando viene chiusa la casella di riepilogo della casella combinata, ad esempio, ON_CBN_CLOSEUP viene inviato. Quando la casella combinata perde il suo stato attivo a causa di un clic del mouse fuori i suoi confini, invia ON_CBN_KILLFOCUS. C'è una mappa messaggi per ogni possibile cambiamento di stato che possa subire una casella combinata.

Consigli & Avvertenze

  • L'unica volta che dovete preoccuparvi di distruggere una casella combinata è se si crea nell'heap. Se si chiama l'operatore "new", è necessario chiamare "cancellare" in pulitura.