Tipos de botón

Hay varios tipos de botones y uno o varios estilos de botón para distinguir entre botones del mismo tipo.

En este documento se describen los temas siguientes.

Tipos y estilos de botón

Un botón pertenece a un tipo y puede tener estilos adicionales que afectan a su apariencia y comportamiento. Para obtener una tabla de estilos de botón, vea Estilos de botón.

En la captura de pantalla siguiente se muestran los distintos tipos de botones.

captura de pantalla de un cuadro de diálogo que muestra ejemplos de ocho tipos de botones

La captura de pantalla muestra cómo pueden aparecer los botones en Windows Vista. La apariencia variará en diferentes versiones del sistema operativo y según el tema establecido por el usuario.

Tenga en cuenta los siguientes puntos sobre la ilustración:

  • La casilla de verificación de tres estados se muestra en el estado indeterminado. Cuando está activada o desactivada, parece una casilla normal.
  • El botón de inserción grande se ha establecido en el estado insertado mediante programación (mediante el envío del mensaje de BM_SETSTATE ), de modo que conserva su apariencia incluso cuando no se hace clic en él.
  • En el estilo visual que se muestra, el fondo del botón de inserción predeterminado (u otro botón de inserción que tiene el foco de entrada) se desplaza entre azul y gris.

Casillas

Una casilla consta de un cuadro cuadrado y una etiqueta, icono o mapa de bits definido por la aplicación que indica una opción que el usuario puede realizar seleccionando el botón. Las aplicaciones suelen mostrar casillas para permitir al usuario elegir una o varias opciones que no son mutuamente excluyentes.

Una casilla puede ser uno de los cuatro estilos: estándar, automático, tres estados y tres estados automáticos, según lo definido por las constantes BS_CHECKBOX, BS_AUTOCHECKBOX, BS_3STATE y BS_AUTO3STATE, respectivamente. Cada estilo puede suponer dos estados de verificación: activado (una marca de verificación dentro de la casilla) o desactivado (sin marca de verificación). Además, una casilla de tres estados puede suponer un estado indeterminado (una casilla sombreada dentro de la casilla), lo que podría indicar que el usuario no ha elegido. Al hacer clic repetidamente en una casilla estándar o automática, se desactiva y se vuelve a activar. Al hacer clic repetidamente en una casilla de tres estados, se activa para desactivarla en indeterminada y, a continuación, se repite el ciclo.

Cuando el usuario hace clic en una casilla (de cualquier estilo), la casilla recibe el foco del teclado. El sistema envía a la ventana primaria de la casilla un mensaje de WM_COMMAND que contiene el código de notificación BN_CLICKED . La ventana primaria no tiene que controlar este mensaje si procede de una casilla automática o de tres estados automática, ya que el sistema establece automáticamente el estado de comprobación de esos estilos. Pero la ventana primaria debe controlar el mensaje si procede de una casilla no automática o de tres estados, ya que la ventana primaria es responsable de establecer el estado de comprobación de esos estilos. Independientemente del estilo de casilla, el sistema vuelve a pintar automáticamente la casilla una vez que se cambia su estado.

La aplicación puede determinar el estado de una casilla mediante la función IsDlgButtonChecked .

Cuadros de grupo

Un cuadro de grupo es un rectángulo que rodea un conjunto de controles, como casillas de verificación o botones de radio, con una etiqueta de texto definida por la aplicación en su esquina superior izquierda. El único propósito de un cuadro de grupo es organizar los controles relacionados con un propósito común (normalmente indicados por la etiqueta). El cuadro de grupo solo tiene un estilo definido por la constante BS_GROUPBOX. Dado que no se puede seleccionar un cuadro de grupo, no tiene ningún estado de comprobación, estado de foco ni estado de inserción.

Botones

Un botón de inserción es un rectángulo que contiene una etiqueta de texto definida por la aplicación, un icono o un mapa de bits que indica lo que hace el botón cuando el usuario lo selecciona.

Un botón de inserción puede ser uno de los dos estilos, estándar o predeterminados, según lo definido por las constantes BS_PUSHBUTTON y BS_DEFPUSHBUTTON. Normalmente, se usa un botón de inserción estándar para iniciar una operación. Recibe el foco del teclado cuando el usuario hace clic en él. Normalmente, se usa un botón de inserción predeterminado para indicar la opción más común o predeterminada, como cerrar el cuadro de diálogo. Es un botón que el usuario puede seleccionar simplemente presionando ENTRAR cuando ningún otro botón de inserción en el cuadro de diálogo tiene el foco de entrada.

Cuando el usuario hace clic en un botón de pulsación, recibe el foco del teclado. El sistema envía a la ventana primaria del botón un mensaje WM_COMMAND que contiene el código de notificación BN_CLICKED .

El botón de división es un tipo especial de botón de inserción introducido en Windows Vista y versión 6.00. Un botón de división se divide en dos partes. La parte principal funciona como un botón de inserción normal o predeterminado. La segunda parte tiene una flecha que apunta hacia abajo. Normalmente, se muestra un menú cuando se hace clic en la flecha.

Un botón de división tiene el estilo BS_SPLITBUTTON o el estilo BS_DEFSPLITBUTTON si es el botón predeterminado en un cuadro de diálogo. Puede modificar la apariencia del botón mediante el mensaje BCM_SETSPLITINFO o la macro Button_SetSplitInfo correspondiente.

Cuando el usuario hace clic en la parte principal del botón de división, envía una notificación de BN_CLICKED como un botón de inserción normal. Pero cuando el usuario hace clic en la flecha hacia abajo, envía una notificación BCN_DROPDOWN . Es responsabilidad de la aplicación mostrar un menú en respuesta a BCN_DROPDOWN.

Windows Vista y la versión 6.00 también introdujeron otro tipo de botón de inserción, el vínculo de comando. Visualmente, un vínculo de comando es muy diferente de un botón de inserción normal, pero tiene la misma funcionalidad. Normalmente, un vínculo de comando muestra un icono de flecha, una línea de texto y texto adicional en una fuente más pequeña.

Botones de radio

Un botón de radio (también denominado botón de opción) consta de un botón redondo y una etiqueta, icono o mapa de bits definido por la aplicación que indica una opción que el usuario puede realizar seleccionando el botón. Normalmente, una aplicación usa botones de radio en un cuadro de grupo para permitir al usuario elegir uno de un conjunto de opciones relacionadas pero mutuamente excluyentes.

Un botón de radio puede ser uno de los dos estilos: estándar o automático, según lo definido por las constantes de estilo BS_RADIOBUTTON y BS_AUTORADIOBUTTON. Cada estilo puede suponer dos estados de comprobación: activado (un punto en el botón) o desactivado (sin punto en el botón).

Cuando el usuario selecciona cualquier estado, el botón de radio recibe el foco del teclado. El sistema envía a la ventana primaria del botón un mensaje de WM_COMMAND que contiene el código de notificación BN_CLICKED . La ventana primaria no necesita controlar este mensaje si procede de un botón de radio automático, ya que el sistema establece automáticamente el estado de comprobación de ese estilo. Pero la ventana primaria debe controlar el mensaje si procede de un botón de radio no automático, ya que la ventana primaria es responsable de establecer el estado de comprobación de ese estilo. Independientemente del estilo del botón de radio, el sistema vuelve a pintar automáticamente el botón a medida que cambia su estado.

Los botones de radio se organizan en grupos y solo se puede comprobar un botón del grupo en cualquier momento. Si la marca WS_GROUP está establecida para cualquier botón de radio, ese botón es el primer botón de un grupo y todos los botones que lo siguen inmediatamente en el orden de tabulación (pero no tienen la marca WS_GROUP ) forman parte de su grupo. Si no hay botones de radio con la marca WS_GROUP , todos los botones de radio del cuadro de diálogo se tratan como un único grupo.

La aplicación puede determinar si se comprueba un botón de radio mediante la función IsDlgButtonChecked .

Referencia

Estilos de botón

Conceptual

Usar botones