13 Control GroupBox básico
Los GroupBoxes son un estilo de botón que se usa para agrupar controles. Generalmente se usan con controles RadioButton, pero se pueden agrupar controles de cualquier tipo.
El comportamiento es puramente estático, es decir, actúan sólo como marcas y facilitan al usuario el acceso a distintos grupos de controles asociados en función de alguna propiedad común.
Ficheros de recursos
Para comprobar cómo funcionan los groupboxes agruparemos dos conjuntos de controles edit:
#include <windows.h> #include "win013.h" Menu MENU BEGIN POPUP "&Principal" BEGIN MENUITEM "&Diálogo", CM_DIALOGO END END DialogoPrueba DIALOG 0, 0, 145, 87 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Group boxes" FONT 8, "Helv" BEGIN CONTROL "Grupo &1", ID_GROUPBOX1, "BUTTON", BS_GROUPBOX | WS_CHILD | WS_VISIBLE | WS_GROUP, 8, 4, 64, 65 CONTROL "Botón 1", ID_BOTON1, "BUTTON", BS_PUSHBUTTON | BS_CENTER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 16, 17, 50, 14 CONTROL "Botón 2", ID_BOTON2, "BUTTON", BS_PUSHBUTTON | BS_CENTER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 16, 33, 50, 14 CONTROL "Botón 3", ID_BOTON3, "BUTTON", BS_PUSHBUTTON | BS_CENTER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 16, 49, 50, 14 CONTROL "Grupo &2", ID_GROUPBOX2, "BUTTON", BS_GROUPBOX | WS_CHILD | WS_VISIBLE | WS_GROUP, 74, 4, 66, 65 CONTROL "Botón 4", ID_BOTON4, "BUTTON", BS_PUSHBUTTON | BS_CENTER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 81, 17, 50, 14 CONTROL "Botón 5", ID_BOTON5, "BUTTON", BS_PUSHBUTTON | BS_CENTER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 81, 33, 50, 14 CONTROL "Botón 6", ID_BOTON6, "BUTTON", BS_PUSHBUTTON | BS_CENTER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 81, 49, 50, 14 CONTROL "Aceptar", IDOK, "BUTTON", BS_PUSHBUTTON | BS_CENTER | WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP, 16, 72, 50, 14 CONTROL "Cancelar", IDCANCEL, "BUTTON", BS_PUSHBUTTON | BS_CENTER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 80, 72, 50, 14 END
Hemos añadido los nuevos controles GroupBox. Para más detalles acerca de estos controles ver controles button.
Como se puede observar, un Groupbox no es más que un botón con el estilo BS_GROUPBOX, la principal propiedad de los controles agrupados bajo un groupbox es que es posible moverse a través de ellos usando las teclas del cursor.
CONTROL "Grupo &1", ID_GROUPBOX1, "button", BS_GROUPBOX | WS_CHILD | WS_VISIBLE | WS_GROUP, 8, 4, 64, 65
- CONTROL es la palabra clave que indica que vamos a definir un control.
- A continuación, en el parámetro text, en el caso de los groupbox será el texto que aparecerá en la esquina superior izquierda del control, y que servirá para identificar el grupo.
- id es el identificador del control. El identificador será necesario en algunos casos para vincular los controles entre sí, le veremos más adelante cuando estudiemos los Radio Buttons.
- class es la clase de control, en nuestro caso "BUTTON".
- style es el estilo de control que queremos. En nuestro caso es una combinación
de un estilo button y varios de ventana:
- BS_GROUPBOX: Indica que se trata de un botón con el estilo GroupBox.
- WS_CHILD: crea el control como una ventana hija.
- WS_VISIBLE: crea una ventana inicialmente visible.
- WS_GROUP: marca el control como comienzo de un grupo, el grupo termina cuando empiece el grupo siguiente o terminen los controles.
- coordenada x del control.
- coordenada y del control.
- width: anchura del control.
- height: altura del control.
Iniciar controles GroupBox
Los controles GroupBox no precisan inicialización.
Devolver valores a la aplicación
Tampoco hay ningún valor que retornar desde un control GroupBox.
Ejemplo 13
Nombre | Fichero | Fecha | Tamaño | Contador | Descarga |
---|---|---|---|---|---|
Ejemplo 13 | win013.zip | 2024-10-07 | 2977 bytes | 769 |