Clase CComboBox
proporciona la funcionalidad de un cuadro combinado de Windows.
class CComboBox : public CWnd
Members
Constructores públicos
Name |
Descripción |
---|---|
Crea un objeto CComboBox. |
Métodos públicos
Name |
Descripción |
---|---|
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 . |
|
Elimina (claro) la selección actual, si existe, en el control de edición. |
|
Llamado por el marco para determinar la posición relativa de un nuevo elemento de un cuadro combinado propietario- dibujado ordenados. |
|
Copia la selección actual, si existe, en el portapapeles en el formato de CF_TEXT . |
|
Crea el cuadro combinado y lo asocia al objeto de CComboBox . |
|
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 . |
|
Llamado por el marco cuando un elemento de lista se elimina de un cuadro combinado propietario- dibujado. |
|
Elimina una cadena listbox de un cuadro combinado. |
|
Agrega una lista de nombres de archivo al cuadro de lista de un cuadro combinado. |
|
Llamado por el marco cuando un aspecto visual de los cambios propietario- dibujados en un cuadro combinado. |
|
Encuentra la primera cadena que contiene el prefijo especificado en el cuadro de lista de un cuadro combinado. |
|
Encuentra la primera cadena del cuadro de lista (en un cuadro combinado) que coincide con la cadena especificada. |
|
Información de recupera sobre el objeto de CComboBox . |
|
Recupera el número de elementos del cuadro de lista de un cuadro combinado. |
|
Obtiene el texto de señal que se muestra para un control de cuadro combinado. |
|
Recupera el índice del elemento actualmente seleccionado, si existe, en el cuadro de lista de un cuadro combinado. |
|
Recupera las coordenadas de pantalla (interrumpido abajo) del cuadro de lista visible de un cuadro combinado desplegable. |
|
Determina si el cuadro de lista del cuadro combinado desplegable está visible (interrumpido siguiente). |
|
Recupera el ancho mínimo permitido por la parte del cuadro de lista desplegable de un cuadro combinado. |
|
Obtiene las posiciones de caracteres inicial y final de la selección actual en el control de edición de un cuadro combinado. |
|
Determina si un cuadro combinado tiene la interfaz de usuario predeterminada o la interfaz de usuario extendida. |
|
Devuelve el ancho en píxeles que la parte del cuadro de lista del cuadro combinado se puede mover horizontalmente. |
|
Recupera el valor de 32 bits aplicación- proporcionado asociado al elemento especificado del cuadro combinado. |
|
Recupera el puntero de 32 bits aplicación- proporcionado asociado al elemento especificado del cuadro combinado. |
|
Recupera el alto de los elementos de un cuadro combinado. |
|
Obtiene una cadena listbox de un cuadro combinado. |
|
obtiene la longitud de una cadena en el cuadro de lista de un cuadro combinado. |
|
Recupera el Id. de configuración regional de un cuadro combinado. |
|
Obtiene el número mínimo de elementos visibles en la lista desplegable del cuadro combinado actual. |
|
Devuelve el índice del primer elemento visible en la parte del cuadro de lista del cuadro combinado. |
|
Reserva los bloques de memoria para los elementos y las cadenas de la parte del cuadro de lista del cuadro combinado. |
|
inserta una cadena en el cuadro de lista de un cuadro combinado. |
|
Restringe la longitud de texto que el usuario puede escribir en el control de edición de un cuadro combinado. |
|
Llamado por el marco para determinar dimensiones de cuadro combinado cuando se crea un cuadro combinado propietario- dibujado. |
|
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 . |
|
Quita todos los elementos de cuadro de lista y control de edición de un cuadro combinado. |
|
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. |
|
Establece el texto de señal que se muestra para un control de cuadro combinado. |
|
selecciona una cadena en el cuadro de lista de un cuadro combinado. |
|
Establece el ancho mínimo permitido por la parte del cuadro de lista desplegable de un cuadro combinado. |
|
Selecciona los caracteres del control de edición de un cuadro combinado. |
|
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 . |
|
Establece el ancho en píxeles que la parte del cuadro de lista del cuadro combinado se puede mover horizontalmente. |
|
Establece el valor de 32 bits asociado al elemento especificado en un cuadro combinado. |
|
Establece el puntero de 32 bits asociado al elemento especificado en un cuadro combinado. |
|
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. |
|
Establece el Id. de configuración regional de un cuadro combinado. |
|
Establece el número mínimo de elementos visibles en la lista desplegable del cuadro combinado actual. |
|
Indica a la parte del cuadro de lista del cuadro combinado que muestre el elemento con el índice especificado en la parte superior. |
|
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
CComboBox
Requisitos
Encabezado: afxwin.h