Compartir a través de


CComboBox Class

proporciona la funcionalidad de un cuadro combinado de Windows.

class CComboBox : public CWnd

Members

Constructores públicos

Name

Descripción

CComboBox::CComboBox

Crea un objeto CComboBox.

Métodos públicos

Name

Descripción

CComboBox::AddString

Agrega una cadena al final de la lista del cuadro de lista de un cuadro combinado, o en la posición ordenada para los cuadros de lista con el estilo de CBS_SORT .

CComboBox::Clear

Elimina (claro) la selección actual, si existe, en el control de edición.

CComboBox::CompareItem

Llamado por el marco para determinar la posición relativa de un nuevo elemento de un cuadro combinado propietario- dibujado ordenados.

CComboBox::Copy

Copia la selección actual, si existe, en el portapapeles en el formato de CF_TEXT .

CComboBox::Create

Crea el cuadro combinado y lo asocia al objeto de CComboBox .

CComboBox::Cut

Elimina (cortes) la selección actual, si existe, en el control de edición y copia el texto eliminado en el portapapeles en el formato de CF_TEXT .

CComboBox::DeleteItem

Llamado por el marco cuando un elemento de lista se elimina de un cuadro combinado propietario- dibujado.

CComboBox::DeleteString

Elimina una cadena listbox de un cuadro combinado.

CComboBox::Dir

Agrega una lista de nombres de archivo al cuadro de lista de un cuadro combinado.

CComboBox::DrawItem

Llamado por el marco cuando un aspecto visual de los cambios propietario- dibujados en un cuadro combinado.

CComboBox::FindString

Encuentra la primera cadena que contiene el prefijo especificado en el cuadro de lista de un cuadro combinado.

CComboBox::FindStringExact

Encuentra la primera cadena del cuadro de lista (en un cuadro combinado) que coincide con la cadena especificada.

CComboBox::GetComboBoxInfo

Información de recupera sobre el objeto de CComboBox .

CComboBox::GetCount

Recupera el número de elementos del cuadro de lista de un cuadro combinado.

CComboBox::GetCueBanner

Obtiene el texto de señal que se muestra para un control de cuadro combinado.

CComboBox::GetCurSel

Recupera el índice del elemento actualmente seleccionado, si existe, en el cuadro de lista de un cuadro combinado.

CComboBox::GetDroppedControlRect

Recupera las coordenadas de pantalla (interrumpido abajo) del cuadro de lista visible de un cuadro combinado desplegable.

CComboBox::GetDroppedState

Determina si el cuadro de lista del cuadro combinado desplegable está visible (interrumpido siguiente).

CComboBox::GetDroppedWidth

Recupera el ancho mínimo permitido por la parte del cuadro de lista desplegable de un cuadro combinado.

CComboBox::GetEditSel

Obtiene las posiciones de caracteres inicial y final de la selección actual en el control de edición de un cuadro combinado.

CComboBox::GetExtendedUI

Determina si un cuadro combinado tiene la interfaz de usuario predeterminada o la interfaz de usuario extendida.

CComboBox::GetHorizontalExtent

Devuelve el ancho en píxeles que la parte del cuadro de lista del cuadro combinado se puede mover horizontalmente.

CComboBox::GetItemData

Recupera el valor de 32 bits aplicación- proporcionado asociado al elemento especificado del cuadro combinado.

CComboBox::GetItemDataPtr

Recupera el puntero de 32 bits aplicación- proporcionado asociado al elemento especificado del cuadro combinado.

CComboBox::GetItemHeight

Recupera el alto de los elementos de un cuadro combinado.

CComboBox::GetLBText

Obtiene una cadena listbox de un cuadro combinado.

CComboBox::GetLBTextLen

obtiene la longitud de una cadena en el cuadro de lista de un cuadro combinado.

CComboBox::GetLocale

Recupera el Id. de configuración regional de un cuadro combinado.

CComboBox::GetMinVisible

Obtiene el número mínimo de elementos visibles en la lista desplegable del cuadro combinado actual.

CComboBox::GetTopIndex

Devuelve el índice del primer elemento visible en la parte del cuadro de lista del cuadro combinado.

CComboBox::InitStorage

Reserva los bloques de memoria para los elementos y las cadenas de la parte del cuadro de lista del cuadro combinado.

CComboBox::InsertString

inserta una cadena en el cuadro de lista de un cuadro combinado.

CComboBox::LimitText

Restringe la longitud de texto que el usuario puede escribir en el control de edición de un cuadro combinado.

CComboBox::MeasureItem

Llamado por el marco para determinar dimensiones de cuadro combinado cuando se crea un cuadro combinado propietario- dibujado.

CComboBox::Paste

Inserta los datos del portapapeles en el control de edición en la posición del cursor actual. Se inserta los datos sólo si el portapapeles contiene datos en el formato de CF_TEXT .

CComboBox::ResetContent

Quita todos los elementos de cuadro de lista y control de edición de un cuadro combinado.

CComboBox::SelectString

Busca una cadena en el cuadro de lista de un cuadro combinado y, si se encuentra la cadena, se selecciona la cadena en el cuadro de lista y copie la cadena al control de edición.

CComboBox::SetCueBanner

Establece el texto de señal que se muestra para un control de cuadro combinado.

CComboBox::SetCurSel

selecciona una cadena en el cuadro de lista de un cuadro combinado.

CComboBox::SetDroppedWidth

Establece el ancho mínimo permitido por la parte del cuadro de lista desplegable de un cuadro combinado.

CComboBox::SetEditSel

Selecciona los caracteres del control de edición de un cuadro combinado.

CComboBox::SetExtendedUI

Selecciona la interfaz de usuario predeterminada o la interfaz de usuario extendida para un cuadro combinado con el estilo de CBS_DROPDOWN o de CBS_DROPDOWNLIST .

CComboBox::SetHorizontalExtent

Establece el ancho en píxeles que la parte del cuadro de lista del cuadro combinado se puede mover horizontalmente.

CComboBox::SetItemData

Establece el valor de 32 bits asociado al elemento especificado en un cuadro combinado.

CComboBox::SetItemDataPtr

Establece el puntero de 32 bits asociado al elemento especificado en un cuadro combinado.

CComboBox::SetItemHeight

Establece el alto de los elementos de un cuadro combinado o el alto de la parte del control de edición (o texto estático) de un cuadro combinado.

CComboBox::SetLocale

Establece el Id. de configuración regional de un cuadro combinado.

CComboBox::SetMinVisibleItems

Establece el número mínimo de elementos visibles en la lista desplegable del cuadro combinado actual.

CComboBox::SetTopIndex

Indica a la parte del cuadro de lista del cuadro combinado que muestre el elemento con el índice especificado en la parte superior.

CComboBox::ShowDropDown

Muestra u oculta el cuadro de lista de un cuadro combinado con el estilo de CBS_DROPDOWN o de CBS_DROPDOWNLIST .

Comentarios

Un cuadro combinado se compone de un cuadro de lista combinado con un control estático o control de edición. La parte del cuadro de lista del control puede mostrar siempre o puede interrumpir sólo abajo cuando el usuario selecciona la flecha de lista desplegable situada junto al control.

El elemento seleccionado (si existe) en el cuadro de lista se muestra actualmente en static o el control de edición. Además, si el cuadro combinado tiene el estilo en la lista desplegable, el usuario puede escribir el carácter inicial de uno de los elementos en la lista, y el cuadro de lista, si está visible, resaltará el siguiente elemento con ese carácter inicial.

La tabla siguiente se comparan tres el cuadro combinado estilos.

Estilo

¿Cuándo es el cuadro de lista visible?

¿Estática o control de edición?

Sencillo

Siempre

Edición

Desplegable

Cuando se divide abajo

Edición

Lista desplegable.

Cuando se divide abajo

Static

Puede crear un objeto de CComboBox de una plantilla de cuadro de diálogo o directamente en el código. En ambos casos, llame primero al constructor CComboBox para construir el objeto de CComboBox ; llamar a continuación a la función miembro de cree para crear el control y para adjuntarlo al objeto de CComboBox .

Si desea controlar los mensajes de notificación de Windows enviados por un cuadro combinado a su elemento primario (normalmente una clase derivada de CDialog), agregue una función miembro de entrada y controlador de mensajes de mensaje- mapa a la clase primaria para cada mensaje.

Cada entrada de mapa de mensajes tiene el formato siguiente:

Notificación**(id,memberFxn)deON_**

donde id especifica el id. de la ventana secundaria del control de cuadro combinado que envía la notificación y memberFxn es el nombre de la función principal del miembro que ha escrito para controlar la notificación.

El prototipo de función del elemento primario es el siguiente:

afx_msgvoidmemberFxn**(**);

El orden en el que algunas notificaciones se enviarán no puede ser predicha. En concreto, una notificación de CBN_SELCHANGE puede producir antes o después de una notificación de CBN_CLOSEUP .

Las entradas posibles de mensaje- mapa son las siguientes:

  • ON_CBN_CLOSEUP (Windows 3.1 y posterior). El cuadro de lista de un cuadro combinado se ha cerrado. Este mensaje de notificación no se envía para un cuadro combinado con el estilo de CBS_SIMPLE .

  • El usuario deON_CBN_DBLCLK The hacer doble clic en una cadena en el cuadro de lista de un cuadro combinado. Este mensaje de notificación se envía a un cuadro combinado con el estilo de CBS_SIMPLE . Para un cuadro combinado con el estilo de CBS_DROPDOWN o de CBS_DROPDOWNLIST , un doble clic no puede producirse porque un solo clic oculta el cuadro de lista.

  • El cuadro de lista deON_CBN_DROPDOWN speed un combobox está a punto de interrumpir siguiente (creese visible). Este mensaje de notificación sólo puede aparecer en un cuadro combinado con el estilo de CBS_DROPDOWN o de CBS_DROPDOWNLIST .

  • El usuario deON_CBN_EDITCHANGE The ha realizado una acción que podrían haber modificado el texto en la parte del control de edición de un cuadro combinado. A diferencia del mensaje de CBN_EDITUPDATE , se envía este mensaje después de que Windows actualizar la pantalla. No se envía si el cuadro combinado tiene el estilo de CBS_DROPDOWNLIST .

  • La parte del control de ediciónON_CBN_EDITUPDATE The de un cuadro combinado trata sobre el texto modificado pantalla. Se envía este mensaje de notificación después de que el control ha dado formato al texto pero antes de que muestra el texto. No se envía si el cuadro combinado tiene el estilo de CBS_DROPDOWNLIST .

  • El cuadro combinado deON_CBN_ERRSPACE no puede asignar memoria suficiente para satisfacer una solicitud concreta.

  • ON_CBN_SELENDCANCEL (Windows 3.1 y posterior). Indica que la selección del usuario debe cancelarse. El usuario hace clic en un elemento y haga clic en otra ventana o control para ocultar el cuadro de lista de un cuadro combinado. Este mensaje de notificación se envía antes de que el mensaje de notificación de CBN_CLOSEUP para indicar que la selección del usuario debe omitir. Se envía el mensaje de notificación de CBN_SELENDCANCEL o de CBN_SELENDOK incluso si el mensaje de notificación de CBN_CLOSEUP no se envía (como en el caso de un cuadro combinado con el estilo de CBS_SIMPLE ).

  • El usuario deON_CBN_SELENDOK The selecciona un elemento y después presione la tecla ENTRAR o haga clic en la tecla de flecha ABAJO para ocultar el cuadro de lista de un cuadro combinado. Este mensaje de notificación se envía antes de que el mensaje de CBN_CLOSEUP para indicar que la selección del usuario debe considerarse válida. Se envía el mensaje de notificación de CBN_SELENDCANCEL o de CBN_SELENDOK incluso si el mensaje de notificación de CBN_CLOSEUP no se envía (como en el caso de un cuadro combinado con el estilo de CBS_SIMPLE ).

  • El cuadro combinado deON_CBN_KILLFOCUS The está realizando el foco de entrada.

  • La selección deON_CBN_SELCHANGE The en el cuadro de lista de un cuadro combinado está a punto de cambiar como resultado del usuario que hace clic en el cuadro de lista o cambiar la selección mediante las teclas de dirección. Al procesar este mensaje, el texto del control de edición del cuadro combinado se puede recuperar sólo mediante GetLBText u otra función similar. No se puede usar GetWindowText.

  • El cuadro combinado deON_CBN_SETFOCUS The recibe el foco de entrada.

Si crea un objeto de CComboBox dentro de un cuadro de diálogo (a través de un recurso de cuadro de diálogo), el objeto de CComboBox automáticamente se destruye cuando el usuario cierra el cuadro de diálogo.

Si se inserta un objeto de CComboBox dentro de otro objeto de la ventana, no necesita destruirlo. Si crea el objeto de CComboBox en la pila, se destruye automáticamente. Si crea el objeto de CComboBox en la pila mediante la función de nuevo , debe llamar a borrar en el objeto para destruirlo cuando se destruye el cuadro combinado de Windows.

Note si desea controlar WM_KEYDOWN y los mensajes de WM_CHAR , tiene que crear subclases de edición y los controles de cuadro de lista del cuadro combinado, derivar clases de CEdit y de CListBox, y agregar controladores para esos mensajes a las clases derivadas. Para obtener más información, vea https://support.microsoft.com/default.aspx?scid=kb;en-us;Q174667 y CWnd::SubclassWindow.

Jerarquía de herencia

CObject

CCmdTarget

CWnd

CComboBox

Requisitos

Encabezado: afxwin.h

Vea también

Referencia

CWnd (Clase)

Gráfico de jerarquías

CWnd (Clase)

CButton Class

CEdit Class

CListBox Class

CScrollBar (Clase)

CStatic (Clase)

CDialog Class

Conceptos

ejemplo CTRLBARS de MFC