Classe CComboBox
Fornisce la funzionalità di una casella combinata di Windows.
class CComboBox : public CWnd
Membri
Costruttori pubblici
Nome |
Descrizione |
---|---|
Costruisce un oggetto CComboBox. |
Metodi pubblici
Nome |
Descrizione |
---|---|
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. |
|
Elimina (definito) la selezione corrente, se presente, nel controllo di modifica. |
|
Chiamato dal framework per determinare la posizione relativa di nuovo elemento di elenco in una casella combinata creata dal proprietario ordinata. |
|
Copiare la selezione corrente, se presente, negli Appunti nel formato CF_TEXT. |
|
Crea la casella combinata e allegarlo all'oggetto CComboBox. |
|
Elimina (ridurre) la selezione corrente, se presente, nel controllo di modifica in e copia il testo estratto gli Appunti nel formato CF_TEXT. |
|
Chiamato dal framework quando un elemento di elenco viene eliminato da una casella combinata creata dal proprietario. |
|
Elimina una stringa nella casella di riepilogo di una casella combinata. |
|
Aggiunge un elenco di nomi di file alla casella di riepilogo di una casella combinata. |
|
Chiamato dal framework quando un aspetto visivo delle modifiche create dal proprietario di una casella combinata. |
|
Cercare la prima stringa contenente il prefisso specificato nella casella di riepilogo di una casella combinata. |
|
Cercare la prima stringa della casella di riepilogo in una casella combinata) che corrisponde alla stringa specificata. |
|
Recupera informazioni sull'oggetto CComboBox. |
|
Recupera il numero di elementi della casella di riepilogo di una casella combinata. |
|
Ottiene il testo per indicare che verrà visualizzato per una casella combinata. |
|
Recupera l'indice dell'elemento attualmente selezionato, se presente, nella casella di riepilogo di una casella combinata. |
|
Recupera le coordinate dello schermo (rilasciato in basso) della casella di riepilogo o di una casella combinata a discesa. |
|
Determina se la casella di riepilogo di una casella combinata a discesa è visibile (rilasciato giù). |
|
Recupera la larghezza minima per consentire la parte dell'elenco a discesa della casella combinata. |
|
Ottiene le posizioni dei caratteri iniziale e finale della selezione corrente nel controllo di modifica di una casella combinata. |
|
Determina se una casella combinata è l'interfaccia utente predefinita o l'interfaccia utente estesa. |
|
Restituisce la larghezza in pixel che la parte di tipo casella di riepilogo della casella combinata può essere scorre orizzontalmente. |
|
Recupera il valore a 32 bit applicazione fornito associato all'elemento casella combinata specificato. |
|
Recupera il puntatore all'intera fornito a 32 bit associato all'elemento casella combinata specificato. |
|
Recupera l'altezza voci di elenco in una casella combinata. |
|
Ottiene una stringa nella casella di riepilogo di una casella combinata. |
|
Ottiene la lunghezza di una stringa nella casella di riepilogo di una casella combinata. |
|
Recupera l'identificatore impostazioni locali per una casella combinata. |
|
Ottiene il numero minimo degli elementi visibili nell'elenco a discesa della casella combinata corrente. |
|
Restituisce l'indice del primo elemento visibile nella parte di tipo casella di riepilogo della casella combinata. |
|
Preassegna i blocchi di memoria per gli elementi e le stringhe della parte di tipo casella di riepilogo della casella combinata. |
|
Inserisce una stringa nella casella di riepilogo di una casella combinata. |
|
Limita la lunghezza del testo che l'utente può immettere nel controllo di modifica di una casella combinata. |
|
Chiamato dal framework per determinare le dimensioni della casella combinata quando una casella combinata creata dal proprietario viene creata. |
|
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. |
|
Rimuove tutti gli elementi dalla casella di riepilogo e dal controllo di modifica di una casella combinata. |
|
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. |
|
Imposta il testo di selezione di visualizzare per un controllo casella combinata. |
|
Selezionare una stringa nella casella di riepilogo di una casella combinata. |
|
Imposta la larghezza minima per consentire la parte dell'elenco a discesa della casella combinata. |
|
Selezionare i caratteri nel controllo di modifica di una casella combinata. |
|
Selezionare l'interfaccia utente predefinita o l'interfaccia utente estesa per una casella combinata con lo stile CBS_DROPDOWNLIST o CBS_DROPDOWN. |
|
Imposta la larghezza in pixel che la parte di tipo casella di riepilogo della casella combinata può essere scorre orizzontalmente. |
|
Imposta il valore a 32 bit associato con l'elemento specificato in una casella combinata. |
|
Imposta il puntatore a 32 bit associato con l'elemento specificato in una casella combinata. |
|
L'altezza voci di elenco in una casella combinata o l'altezza della parte elettricità- testo o del controllo di modifica) della casella combinata. |
|
Imposta l'identificatore impostazioni locali per una casella combinata. |
|
Imposta il numero minimo degli elementi visibili nell'elenco a discesa della casella combinata corrente. |
|
Indica la parte di tipo casella di riepilogo della casella combinata di visualizzare l'elemento all'indice specificato all'inizio. |
|
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à
CComboBox
Requisiti
Intestazione: afxwin.h