Tecnología

Inicio

Cómo utilizar un cuadro combinado en MFC

Un control de cuadro combinado muestra una lista de cadenas en el estilo de menú desplegable. Proporcionando una manera de mostrar varias opciones mientras se ahorra espacio, un cuadro combinado combina la funcionalidad de un cuadro de lista y un cuadro de edición. Las capacidades del control de cuadro combinado se encapsulan en la clase CComboBox de la biblioteca de clases Microsoft Foundation. Este tutorial muestra algunas de las características de uso común de esta clase.

Instrucciones

1 Lanzar Microsoft Visual Studio. Generar una aplicación basada en cuadros de diálogo para este proyecto haciendo clic en Archivo> Nuevo> Proyectos (pestaña), y seleccionando "aplicaciones de MFC (exe)." Tipo "myComboBox" en "Nombre del proyecto". Pulse OK, seleccione "diálogo basado" y haga clic en Finalizar.

2 Crear un cuadro combinado y modificar sus propiedades. Haga clic en la ficha Recursos en la parte izquierda del área de trabajo. Expanda la carpeta de diálogo y seleccione IDD_MYCOMBOBOX_DIALOG. Haga clic en el icono de cuadro combinado de la caja de herramientas en el lado derecho y lo puso en el cuadro de diálogo. Cambiar el tamaño del desplegable se extienden del cuadro combinado haciendo clic en la flecha hacia abajo y arrastrando el rectángulo. A continuación, haga clic en, seleccione Propiedades, haga clic en la pestaña Estilos y, en Tipo, seleccione simple. Cierre el cuadro de propiedades del cuadro combinado.

3 Agregar elementos al cuadro combinado. Puede hacer esto de dos maneras. Para añadirlos en tiempo de diseño, haga clic en el cuadro combinado, seleccione Propiedades, haga clic en la ficha datos y acceder a los elementos. Para llegar al siguiente elemento, pulse Ctrl + Enter. Para añadirlos en tiempo de ejecución, llame a la CComboBox :: AddString () para añadir elementos al final o CComboBox :: insertString () para insertar elementos en la ubicación específica. Los artículos son de tipo lpszString.

4 Cambiar el ancho del cuadro combinado de forma dinámica. Se puede visualizar cualquier elemento totalmente, no importa el tiempo que es, gracias a la función miembro CComboBox :: SetDroppedWidth (). Se toma como parámetro de la anchura de la cadena en píxeles.

5 Realizar otras funciones comunes. Seleccione un elemento en tiempo de ejecución mediante el uso de CComboBox :: SetCurSel (). Se acepta como parámetro un índice entero. Encontrar el índice del elemento seleccionado con CComboBox :: GetCurSel (). Recuperar los datos utilizando CComboBox :: GetItemData (). Determinar el recuento de artículo a través de CComboBox :: GetCount ().

6 Eliminar los objetos de un cuadro combinado de MFC. Si se conoce la secuencia, puede utilizar CComboBox :: FindString () para determinar el índice y luego usar CComboBox :: deletestring (). CComboBox :: Clear () borra la selección actual si lo hay, mientras que CComboBox :: Cut () elimina la selección actual y la coloca en el portapapeles.

7 Entender los mensajes de notificación de mensajes de mapas que un cuadro combinado puede enviar. Cuando cuadro de lista del cuadro combinado está cerrado, por ejemplo, ON_CBN_CLOSEUP se envía. Cuando el cuadro combinado pierde su foco de entrada debido a un clic del ratón fuera de sus límites, envía ON_CBN_KILLFOCUS. Hay un mensaje de ruta para todos los posibles cambios de estado que un cuadro combinado puede sufrir.

Consejos y advertencias

  • La única vez que usted tiene que preocuparse por la destrucción de un cuadro combinado es si lo crea en el montón. Si se llama a la "nueva" del operador, es necesario llamar a "eliminar" a la limpieza.