Condividi tramite


Classe CComboBox

Fornisce la funzionalità di una casella combinata di Windows.

class CComboBox : public CWnd

Membri

Costruttori pubblici

Nome

Descrizione

CComboBox::CComboBox

Costruisce un oggetto CComboBox.

Metodi pubblici

Nome

Descrizione

CComboBox::AddString

Aggiunge una stringa all'elenco nella casella di riepilogo di una casella combinata, o alla posizione ordinata per le caselle di riepilogo con lo stile CBS_SORT.

CComboBox::Clear

Elimina (definito) la selezione corrente, se presente, nel controllo di modifica.

CComboBox::CompareItem

Chiamato dal framework per determinare la posizione relativa di nuovo elemento di elenco in una casella combinata creata dal proprietario ordinata.

CComboBox::Copy

Copiare la selezione corrente, se presente, negli Appunti nel formato CF_TEXT.

CComboBox::Create

Crea la casella combinata e allegarlo all'oggetto CComboBox.

CComboBox::Cut

Elimina (ridurre) la selezione corrente, se presente, nel controllo di modifica in e copia il testo estratto gli Appunti nel formato CF_TEXT.

CComboBox::DeleteItem

Chiamato dal framework quando un elemento di elenco viene eliminato da una casella combinata creata dal proprietario.

CComboBox::DeleteString

Elimina una stringa nella casella di riepilogo di una casella combinata.

CComboBox::Dir

Aggiunge un elenco di nomi di file alla casella di riepilogo di una casella combinata.

CComboBox::DrawItem

Chiamato dal framework quando un aspetto visivo delle modifiche create dal proprietario di una casella combinata.

CComboBox::FindString

Cercare la prima stringa contenente il prefisso specificato nella casella di riepilogo di una casella combinata.

CComboBox::FindStringExact

Cercare la prima stringa della casella di riepilogo in una casella combinata) che corrisponde alla stringa specificata.

CComboBox::GetComboBoxInfo

Recupera informazioni sull'oggetto CComboBox.

CComboBox::GetCount

Recupera il numero di elementi della casella di riepilogo di una casella combinata.

CComboBox::GetCueBanner

Ottiene il testo per indicare che verrà visualizzato per una casella combinata.

CComboBox::GetCurSel

Recupera l'indice dell'elemento attualmente selezionato, se presente, nella casella di riepilogo di una casella combinata.

CComboBox::GetDroppedControlRect

Recupera le coordinate dello schermo (rilasciato in basso) della casella di riepilogo o di una casella combinata a discesa.

CComboBox::GetDroppedState

Determina se la casella di riepilogo di una casella combinata a discesa è visibile (rilasciato giù).

CComboBox::GetDroppedWidth

Recupera la larghezza minima per consentire la parte dell'elenco a discesa della casella combinata.

CComboBox::GetEditSel

Ottiene le posizioni dei caratteri iniziale e finale della selezione corrente nel controllo di modifica di una casella combinata.

CComboBox::GetExtendedUI

Determina se una casella combinata è l'interfaccia utente predefinita o l'interfaccia utente estesa.

CComboBox::GetHorizontalExtent

Restituisce la larghezza in pixel che la parte di tipo casella di riepilogo della casella combinata può essere scorre orizzontalmente.

CComboBox::GetItemData

Recupera il valore a 32 bit applicazione fornito associato all'elemento casella combinata specificato.

CComboBox::GetItemDataPtr

Recupera il puntatore all'intera fornito a 32 bit associato all'elemento casella combinata specificato.

CComboBox::GetItemHeight

Recupera l'altezza voci di elenco in una casella combinata.

CComboBox::GetLBText

Ottiene una stringa nella casella di riepilogo di una casella combinata.

CComboBox::GetLBTextLen

Ottiene la lunghezza di una stringa nella casella di riepilogo di una casella combinata.

CComboBox::GetLocale

Recupera l'identificatore impostazioni locali per una casella combinata.

CComboBox::GetMinVisible

Ottiene il numero minimo degli elementi visibili nell'elenco a discesa della casella combinata corrente.

CComboBox::GetTopIndex

Restituisce l'indice del primo elemento visibile nella parte di tipo casella di riepilogo della casella combinata.

CComboBox::InitStorage

Preassegna i blocchi di memoria per gli elementi e le stringhe della parte di tipo casella di riepilogo della casella combinata.

CComboBox::InsertString

Inserisce una stringa nella casella di riepilogo di una casella combinata.

CComboBox::LimitText

Limita la lunghezza del testo che l'utente può immettere nel controllo di modifica di una casella combinata.

CComboBox::MeasureItem

Chiamato dal framework per determinare le dimensioni della casella combinata quando una casella combinata creata dal proprietario viene creata.

CComboBox::Paste

Inserisce i dati dagli Appunti nel controllo di modifica nella posizione corrente del cursore. I dati vengono immessi solo se gli Appunti contengono dati nel formato CF_TEXT.

CComboBox::ResetContent

Rimuove tutti gli elementi dalla casella di riepilogo e dal controllo di modifica di una casella combinata.

CComboBox::SelectString

Cerca una stringa nella casella di riepilogo di una casella combinata e, se la stringa viene trovata, selezionare la stringa nella casella di riepilogo e copia della stringa nel controllo di modifica.

CComboBox::SetCueBanner

Imposta il testo di selezione di visualizzare per un controllo casella combinata.

CComboBox::SetCurSel

Selezionare una stringa nella casella di riepilogo di una casella combinata.

CComboBox::SetDroppedWidth

Imposta la larghezza minima per consentire la parte dell'elenco a discesa della casella combinata.

CComboBox::SetEditSel

Selezionare i caratteri nel controllo di modifica di una casella combinata.

CComboBox::SetExtendedUI

Selezionare l'interfaccia utente predefinita o l'interfaccia utente estesa per una casella combinata con lo stile CBS_DROPDOWNLIST o CBS_DROPDOWN.

CComboBox::SetHorizontalExtent

Imposta la larghezza in pixel che la parte di tipo casella di riepilogo della casella combinata può essere scorre orizzontalmente.

CComboBox::SetItemData

Imposta il valore a 32 bit associato con l'elemento specificato in una casella combinata.

CComboBox::SetItemDataPtr

Imposta il puntatore a 32 bit associato con l'elemento specificato in una casella combinata.

CComboBox::SetItemHeight

L'altezza voci di elenco in una casella combinata o l'altezza della parte elettricità- testo o del controllo di modifica) della casella combinata.

CComboBox::SetLocale

Imposta l'identificatore impostazioni locali per una casella combinata.

CComboBox::SetMinVisibleItems

Imposta il numero minimo degli elementi visibili nell'elenco a discesa della casella combinata corrente.

CComboBox::SetTopIndex

Indica la parte di tipo casella di riepilogo della casella combinata di visualizzare l'elemento all'indice specificato all'inizio.

CComboBox::ShowDropDown

Mostra o nasconde la casella di riepilogo di una casella combinata con lo stile CBS_DROPDOWNLIST o CBS_DROPDOWN.

Note

Una casella combinata è costituito da una casella di riepilogo combinata con un controllo statico o un controllo di modifica. La parte di tipo casella di riepilogo del controllo può essere visualizzato sempre oppure solo menu a discesa quando l'utente seleziona la freccia a discesa accanto al controllo.

L'elemento attualmente selezionato (se presenti) nella casella di riepilogo vengono visualizzate in l o statica nel controllo di modifica. Inoltre, se la casella combinata dispone dello stile dell'elenco a discesa, l'utente può immettere il carattere iniziale di uno degli elementi nell'elenco e la casella di riepilogo, se visibile, verrà evidenziato l'elemento seguente con il carattere iniziale.

Nella tabella seguente vengono confrontate tre la casella combinata stili.

Stile

Quando è la casella di riepilogo visibile?

Statico o controllo di modifica?

Simple

Sempre

Edit

Elenco a discesa

Una volta rilasciato giù

Edit

Elenco a discesa

Una volta rilasciato giù

Static

È possibile creare un oggetto CComboBox da un modello di finestra di dialogo o direttamente nel codice. In entrambi i casi, chiamare prima il costruttore CComboBox per costruire l'oggetto CComboBox ; chiamare la funzione membro Crea per creare il controllo e per associarlo all'oggetto CComboBox.

Se si desidera gestire i messaggi di notifica di Windows inviati da una casella combinata al controllo padre (in genere una classe derivata da CDialog), aggiungere una voce della mappa messaggi e una funzione membro per la gestione dei messaggi nella classe padre per ogni messaggio.

Ogni voce della mappa messaggi accetta il formato seguente:

Notifica**(id,memberFxn)diON_**

dove specifica id la finestra figlio ID del controllo casella combinata che invia una notifica e memberFxn è il nome della funzione membro che padre è stato scritto per gestire la notifica.

Il prototipo del padre è la seguente:

afx_msgvoidmemberFxn**(**);

L'ordine in cui verranno determinate notifiche inviate non può essere previsto. In particolare, una notifica CBN_SELCHANGE può verificarsi prima o dopo una notifica CBN_CLOSEUP.

Le voci della mappa messaggi potenziali sono le seguenti:

  • ON_CBN_CLOSEUP (Windows 3.1 e versioni successive). La casella di riepilogo di una casella combinata è chiusa. Questo messaggio di notifica viene inviato per una casella combinata con lo stile CBS_SIMPLE.

  • ON_CBN_DBLCLK l'utente fa doppio clic su una stringa nella casella di riepilogo di una casella combinata. Questo messaggio di notifica viene inviato solo per una casella combinata con lo stile CBS_SIMPLE. Per una casella combinata con lo stile CBS_DROPDOWNLIST o CBS_DROPDOWN, quindi fare doppio clic non può verificarsi poiché un singolo clic su nasconde la casella di riepilogo.

  • ON_CBN_DROPDOWN la casella di riepilogo di una casella combinata sta nel menu a discesa (venga reso visibile). Questo messaggio di notifica può verificarsi solo per una casella combinata con lo stile CBS_DROPDOWNLIST o CBS_DROPDOWN.

  • ON_CBN_EDITCHANGE l'utente ha intraprendere le azioni che possono modificare il testo nella parte del controllo di modifica della casella combinata. A differenza del messaggio CBN_EDITUPDATE, il messaggio viene inviato agli aggiornamenti di Windows lo schermo. Non viene inviato se la casella combinata dispone dello stile CBS_DROPDOWNLIST.

  • ON_CBN_EDITUPDATE la parte del controllo di modifica casella combinata sta il testo modificato visualizzazione. Questo messaggio di notifica viene inviato dopo che il controllo ha il testo formattato ma prima di visualizzare il testo. Non viene inviato se la casella combinata dispone dello stile CBS_DROPDOWNLIST.

  • ON_CBN_ERRSPACE la casella combinata impossibile allocare memoria sufficiente per soddisfare una richiesta specifica.

  • ON_CBN_SELENDCANCEL (Windows 3.1 e versioni successive). Indica che la selezione utente deve essere annullata. L'utente fa clic su un elemento quindi fare clic su un'altra finestra o controllo per nascondere la casella di riepilogo di una casella combinata. Questo messaggio di notifica viene inviato prima che il messaggio di notifica CBN_CLOSEUP per indicare che la selezione utente deve essere ignorato. Il messaggio di notifica CBN_SELENDOK o CBN_SELENDCANCEL viene inviato anche se il messaggio di notifica CBN_CLOSEUP non viene inviato ad esempio nel caso di una casella combinata con lo stile CBS_SIMPLE ).

  • ON_CBN_SELENDOK l'utente seleziona un elemento e premere il tasto INVIO oppure scegliere il tasto FRECCIA GIÙ per nascondere la casella di riepilogo di una casella combinata. Questo messaggio di notifica viene inviato prima che il messaggio CBN_CLOSEUP per indicare che la selezione utente deve essere considerata valida. Il messaggio di notifica CBN_SELENDOK o CBN_SELENDCANCEL viene inviato anche se il messaggio di notifica CBN_CLOSEUP non viene inviato ad esempio nel caso di una casella combinata con lo stile CBS_SIMPLE ).

  • ON_CBN_KILLFOCUS la casella combinata è perdendo lo stato attivo per l'input.

  • ON_CBN_SELCHANGE che la selezione nella casella di riepilogo di una casella combinata sta per essere modificato come risultato dell'utente fa clic su nella casella di riepilogo o che modifica la selezione utilizzando i tasti di direzione. Nell'elaborare questo messaggio, il testo nel controllo di modifica della casella combinata è possibile recuperare solo tramite GetLBText o un'altra funzione simile. GetWindowText non può essere utilizzato.

  • ON_CBN_SETFOCUS la casella combinata riceve lo stato attivo per l'input.

Se si crea un oggetto CComboBox di una finestra di dialogo tramite una risorsa finestra di dialogo, l'oggetto CComboBox automaticamente eliminato quando l'utente chiude la finestra di dialogo.

Se si importa un oggetto CComboBox all'interno di un altro oggetto finestra, non è necessario distruggerlo. Se si crea l'oggetto CComboBox nello stack, verrà automaticamente eliminato. Se si crea l'oggetto CComboBox nell'heap mediante la funzione new, è necessario chiamare delete sull'oggetto per distruggerlo quando la casella combinata di Windows viene eliminato.

Note se si desidera gestire WM_KEYDOWN e messaggi WM_CHAR, è necessario sottoclasse i controlli di modifica e la casella di riepilogo casella combinata, derivare classi da CEdit e da CListBoxe aggiungere i gestori per i messaggi alle classi derivate. Per ulteriori informazioni, vedere https://support.microsoft.com/default.aspx?scid=kb;en-us;Q174667 e CWnd::SubclassWindow.

Gerarchia di ereditarietà

CObject

CCmdTarget

CWnd

CComboBox

Requisiti

Intestazione: afxwin.h

Vedere anche

Riferimenti

Classe CWnd

Grafico delle gerarchie

Classe CWnd

Classe CButton

Classe CEdit

Classe CListBox

Classe CScrollBar

Classe CStatic

Classe CDialog

Concetti

MFC campione in CTRLBARS