| Versión 3.0 |
| 800x600 mínimo |
|
En esta lección: Usando Visual C++ 6.0 ----- Otras secciones: Conceptos básicos ----- Programando en C ----- Programando en C++ ----- Programando Windows 9x. ----- Teoría electrónica ----- Circuitos electrónicos ----- Actividades adicionales ----- Hipervínculos ----- Contácteme: Dudas y comentarios ----- |
Controles estándar en Visual C++ 6.0 (II)Botones de radio, casillas de verificación y cuadros de grupoPara crear un programa funcionalmente similar a control2.c (presentado en el artículo Controles estándar) utilizando MFC y Visual C++ 6.0, seguimos los mismos cinco pasos iniciales presentados en detalle en la primera sección de ésta serie especial, a partir de éste artículo sólo mostraré en texto los pasos a seguir, empezamos creando una área de trabajo de la siguiente manera:
Los diferentes controles deberán ser configurados de la siguiente manera, seleccione un control haciendo clic con el botón secundario del ratón y luego escoja en el menú contextual la opción Properties, aparecerá el cuadro de diálogo tipo de control Properties en donde cada control será configurado de acuerdo a las siguientes propiedades:
Para poder trabajar con los controles que hemos colocado en el cuadro de diálogo se necesita asignar variables para algunos de los controles, en concreto para las tres casillas de verificación y uno de los botones de radio. Habrá observado que se asignó identificadores consecutivos para los botones de radio, dada su naturaleza de funcionamiento, los botones de radio generalmente se agrupan dentro de un control Group Box, para el conjunto de botones de radio basta con asignar a uno de ellos la propiedad Group, para el resto de los botones de radio dentro del conjunto delimitado por el Group Box no se debe asignar la propiedad Group. El resultado de éstas acciones es que el valor devuelto al interactuar con los botones de radio es el identificador de ventana hija en una cuenta consecutiva que empieza en cero. Tomando ésto en consideración necesitamos una variable de tipo int para almacenar el identificador de ventana hija para el control de radio y tres variables de tipo BOOL para almacenar el estado actual de las tres casillas de verificación. Para asignar variables a los controles del programa utilizamos el ClassWizard, ábralo seleccionando menú View||ClassWizard..., aparece el cuadro de diálogo MFC ClassWizard, seleccione la pestaña Member Variables. Seleccione el identificador de uno de los controles y presione el botón Add Variable... entonces asigne el nombre y tipo de variable para el control seleccionado de acuerdo a la siguiente tabla:
Después de asignar variables para algunos de los controles es necesario inicializarlas, el mejor lugar para hacer ésto es en respuesta al mensaje de MFC ON_WM_INITDIALOG, por lo tanto seleccionamos la pestaña Message Maps del ClassWizard, aquí, en el cuadro de texto marcado como Member functions resaltamos la función OnInitDialog que coresponde al mensaje ON_WM_INITDIALOG y presionamos el botón marcado como Edit Code. Se abre el archivo Nombre_de_su_programaDlg.cpp, luego, localize la porción de código marcada como // TODO: Add extra initialization here y agregue el siguiente código:
Para finalizar basta con agregar el código necesario que permita al programa desplegar un mensaje de acuerdo a la(s) opción(es) seleccionada(s), ésto se hace como respuesta a presionar el botón marcado como Presione Aquí por lo tanto se requiere agregar una función para el control Button, nuevamente abra el ClassWizard y en la pestaña Message Maps seleccione el identificador del botón, IDC_BOTON1, en el cuadro de edición marcado como Messages: seleccione BN_CLICKED y entonces presione el botón marcado como Add Function..., aparecerá el cuadro de diálogo Add Member Function, acepte el nombre sugerido presionando el botón OK. El código que debe agregar para la nueva función miembro de la clase Nombre_de_su_programaDlg llamada OnBoton1() se detalla a continuación:
Mediante un análisis detallado podrá comprobar la similitud funcional comparada con el programa control2.c, la diferencia fundamental está en el uso de la función UpdateData(), ésta se utiliza para recuperar el estado y valores de los controles utilizados merced de la selección que haya hecho el usuario del programa, para ésto se pasa el valor TRUE como parámetro de la función. En sentido inverso, si deseamos establecer los controles a determinados valores entonces le pasamos a la función UpdateData() el valor de FALSE, ésto lo hice al momento de inicializar las variables. Ya sea que programe su aplicación utilizando MFC y Visual C++ 6.0 ó de la manera mostrada en el artículo Controles estándar utilizando C, básicamente el principio de operación y trabajo con los controles de la clase Button es esencialmente el mismo. Resta compilar y ejecutar el programa, seleccione menú Build||Build Nombre_de_su_programa.exe para compilarlo, ejecute el programa presionando la combinación de teclas Ctrl + F5. Recuerde, el código fuente para éste programa lo encontrará en la parte inferior del artículo Controles estándar, podrá descargar la totalidad de los programas o si lo prefiere solamente los relacionados con el uso de Visual C++ 6.0. |