Compartir a través de


Estilos utilizados por MFC

Use las marcas de estilo siguientes para especificar la apariencia y el comportamiento de la ventana o del control al crear el objeto MFC correspondiente. En la mayoría de los casos, estos estilos se establecen en el parámetro dwStyle de la función Create de la clase.

Estilos de botón

Los estilos de botón se aplican a objetos CButton Class, como botones de radio, casillas y botones de inserción. Especifique una combinación de estilos en el parámetro dwStyle de CButton::Create. Para obtener más información sobre los estilos de botón en Windows, consulte Estilos de botón.

Tipos de botón

En la tabla siguiente, se enumeran los tipos de botón. Opcionalmente, puede elegir uno de los siguientes. Si no especifica un tipo de botón, el valor predeterminado es BS_PUSHBUTTON.

Tipo Descripción
BS_3STATE Crea un botón de casilla con tres estados: BST_CHECKED, BST_INDETERMINATE y BST_UNCHECKED. Al hacer clic en el botón, se envía una notificación BN_CLICKED a la ventana propietaria, pero no se cambia el estado del botón. De manera predeterminada, el texto asociado se muestra a la derecha de la casilla. Para mostrar el texto a la izquierda de la casilla, use el estilo BS_LEFTTEXT o BS_RIGHTBUTTON.
BS_AUTO3STATE Crea un botón de casilla con tres estados: BST_CHECKED, BST_INDETERMINATE y BST_UNCHECKED. Al hacer clic en el botón, se envía una notificación BN_CLICKED a la ventana propietaria y se cambia el estado del botón. El ciclo de estados del botón tiene el orden BST_CHECKED, BST_INDETERMINATE y BST_UNCHECKED. De manera predeterminada, el texto asociado se muestra a la derecha de la casilla. Para mostrar el texto a la izquierda de la casilla, use el estilo BS_LEFTTEXT o BS_RIGHTBUTTON.
BS_AUTOCHECKBOX Crea un botón de casilla con dos estados: BST_CHECKED y BST_UNCHECKED. Al hacer clic en el botón, se envía una notificación BN_CLICKED a la ventana propietaria y se cambia el estado del botón. De manera predeterminada, el texto asociado se muestra a la derecha de la casilla. Para mostrar el texto a la izquierda de la casilla, use el estilo BS_LEFTTEXT o BS_RIGHTBUTTON.
BS_AUTORADIOBUTTON Crea un botón de radio con dos estados: BST_CHECKED y BST_UNCHECKED. Los botones de radio se suelen usar en grupos y cada grupo tiene un máximo de una opción activada cada vez. Al hacer clic en el botón, se envía una notificación BN_CLICKED a la ventana propietaria, se establece el estado del botón de radio en el que se ha hecho clic en BST_CHECKED y se establecen los estados de todos los demás botones de radio del grupo de botones en BST_UNCHECKED. De manera predeterminada, el texto asociado se muestra a la derecha del botón de radio. Para mostrar el texto a la izquierda del botón de radio, use el estilo BS_LEFTTEXT o BS_RIGHTBUTTON.
BS_CHECKBOX Crea un botón de casilla con dos estados: BST_CHECKED y BST_UNCHECKED. Al hacer clic en el botón, se envía una notificación BN_CLICKED a la ventana propietaria, pero no se cambia el estado del botón. De manera predeterminada, el texto asociado se muestra a la derecha de la casilla. Para mostrar el texto a la izquierda de la casilla, use el estilo BS_LEFTTEXT o BS_RIGHTBUTTON.
BS_COMMANDLINK Crea un botón de vínculo de comando. Un botón de vínculo de comando es un botón de comando específico de Windows Vista que muestra una flecha verde a la izquierda del texto principal y una nota debajo del texto principal. Puede establecer el texto de la nota mediante CButton::SetNote.
BS_DEFCOMMANDLINK Crea un botón de vínculo de comando. Un botón de vínculo de comando es un botón de comando específico de Windows Vista que muestra una flecha verde a la izquierda del texto principal y una nota debajo del texto principal. Puede establecer el texto de la nota mediante CButton::SetNote. Si el botón está en un cuadro de diálogo, al pulsar la tecla ENTRAR, se envía una notificación BN_CLICKED al cuadro de diálogo incluso cuando el botón no tiene el foco de entrada.
BS_DEFPUSHBUTTON Crea un botón de comando que tiene un borde negro intenso. Si el botón está en un cuadro de diálogo, al pulsar la tecla ENTRAR, se envía una notificación BN_CLICKED al cuadro de diálogo incluso cuando el botón no tiene el foco de entrada.
BS_DEFSPLITBUTTON Crea un botón de expansión. Un botón de expansión es un botón de comando específico de Windows Vista que contiene un botón adyacente a una flecha desplegable. Al hacer clic en el botón, se ejecuta el comando predeterminado. Al hacer clic en la flecha desplegable, aparece un menú de comandos adicionales. Si el botón de expansión está en un cuadro de diálogo, al pulsar la tecla ENTRAR, se envía una notificación BN_CLICKED al cuadro de diálogo incluso cuando el botón no tiene el foco de entrada.
BS_GROUPBOX Crea un rectángulo en el que se pueden agrupar otros botones. El texto asociado a este estilo se muestra en la esquina superior izquierda del rectángulo.
BS_OWNERDRAW Crea un botón dibujado por el propietario. El marco llama al método DrawItem cuando ha cambiado un aspecto visual del botón. Este estilo se debe establecer cuando se usa la clase CBitmapButton.
BS_PUSHBUTTON Crea un botón de comando que envía una notificación BN_CLICKED a la ventana propietaria cuando el usuario hace clic en el botón.
BS_RADIOBUTTON Crea un botón de radio con dos estados: BST_CHECKED y BST_UNCHECKED. Los botones de radio se suelen usar en grupos y cada grupo tiene un máximo de una opción activada cada vez. Al hacer clic en el botón, se envía una notificación BN_CLICKED a la ventana propietaria, pero no cambia automáticamente el estado de ningún botón del grupo. De manera predeterminada, el texto asociado se muestra a la derecha del botón de radio. Para mostrar el texto a la izquierda del botón de radio, use el estilo BS_LEFTTEXT o BS_RIGHTBUTTON.
BS_SPLITBUTTON Crea un botón de expansión. Un botón de expansión es un botón de comando específico de Windows Vista que contiene un botón adyacente a una flecha desplegable. Al hacer clic en el botón, se ejecuta el comando predeterminado. Al hacer clic en la flecha desplegable, aparece un menú de comandos adicionales.
BS_USERBUTTON Obsoleto, pero se proporciona por compatibilidad con las versiones de 16 bits de Windows. En su lugar, las aplicaciones basadas en Win32 deben usar BS_OWNERDRAW.

Estilos de botón de radio y casilla

En la tabla siguiente, se enumeran los estilos específicos de los botones de radio y las casillas. Estos estilos se omiten en todos los demás tipos de botón. Opcionalmente, puede elegir uno o varios de los siguientes.

Estilo Descripción
BS_LEFTTEXT Cuando se combina con un estilo de botón de radio o de casilla, el texto aparece en el lado izquierdo del botón de radio o la casilla.
BS_RIGHTBUTTON Cuando se combina con un estilo de botón de radio o de casilla, el texto aparece en el lado izquierdo del botón de radio o la casilla. Este estilo es idéntico al estilo BS_LEFTTEXT.
BS_PUSHLIKE Hace que una casilla o un botón de radio tenga el aspecto y se comporte como un botón de comando. El botón aparece pulsado cuando su estado es BST_CHECKED, pulsado y atenuado cuando su estado es BST_INDETERMINATE y liberado cuando su estado es BST_UNCHECKED.

Estilos de alineación de texto del botón

En la tabla siguiente, se enumeran las opciones de alineación de texto horizontal y vertical. Opcionalmente, puede elegir uno de los siguientes.

Estilo Descripción
BS_LEFT Alinea a la izquierda el texto en el rectángulo del botón. Sin embargo, si el botón es una casilla o un botón de radio que no tiene el estilo BS_RIGHTBUTTON, el texto se alinea a la izquierda en el lado derecho de la casilla o el botón de radio.
BS_RIGHT Alinea a la derecha el texto en el rectángulo del botón. Sin embargo, si el botón es una casilla o un botón de radio que no tiene el estilo BS_RIGHTBUTTON, el texto se alinea a la derecha en el lado derecho de la casilla o el botón de radio.
BS_CENTER Centra el texto horizontalmente en el rectángulo del botón.
BS_TOP Coloca el texto en la parte superior del rectángulo del botón.
BS_BOTTOM Coloca el texto en la parte inferior del rectángulo del botón.
BS_VCENTER Centra el texto verticalmente en el rectángulo del botón.

Opciones de contenido del botón

En la tabla siguiente, se enumeran las opciones que indican lo que se muestra en el botón. Los tipos de botón que solo muestran texto omiten estos estilos. Opcionalmente, puede elegir uno de los siguientes.

Estilo Descripción
BS_BITMAP Especifica que el botón muestra un mapa de bits.
BS_ICON Especifica que el botón muestra un icono.
BS_TEXT Especifica que el botón muestra texto.

Otras opciones de botón

En la tabla siguiente, se enumeran opciones adicionales que puede usar con cualquier tipo de botón. Opcionalmente, puede elegir uno o varios de los siguientes.

Estilo Descripción
BS_FLAT Especifica que el botón es bidimensional y no se dibuja con el sombreado predeterminado para crear una imagen tridimensional.
BS_MULTILINE Ajusta el texto del botón en varias líneas si la cadena de texto es demasiado larga para caber en una sola línea del rectángulo del botón.
BS_NOTIFY Permite que un botón envíe mensajes de notificación BN_DBLCLK, BN_KILLFOCUS y BN_SETFOCUS a su ventana primaria. Tenga en cuenta que los botones envían la notificación BN_CLICKED independientemente de si se especifica este estilo.

Estilos de cuadro combinado

Los siguientes estilos de cuadro combinado están disponibles en MFC. Para obtener más información sobre los estilos de cuadro combinado en Windows, consulte Estilos de cuadro combinado.

Estilo Descripción
CBS_AUTOHSCROLL Desplaza automáticamente el texto del control de edición hacia la derecha cuando el usuario escribe un carácter al final de la línea. Si no se establece este estilo, solo se permite el texto que entre dentro del límite rectangular.
CBS_DISABLENOSCROLL El cuadro de lista muestra una barra de desplazamiento vertical deshabilitada si el cuadro de lista no contiene suficientes elementos por los que desplazarse. Sin este estilo, la barra de desplazamiento está oculta cuando el cuadro de lista no contiene suficientes elementos.
CBS_DROPDOWN Similar a CBS_SIMPLE, salvo que el cuadro de lista no se muestra a menos que el usuario seleccione un icono junto al control de edición.
CBS_DROPDOWNLIST Similar a CBS_DROPDOWN, salvo que el control de edición se reemplaza por un elemento de texto estático que muestra la selección actual del cuadro de lista.
CBS_HASSTRINGS Un cuadro combinado dibujado por el propietario contiene elementos que se componen de cadenas. El cuadro combinado conserva la memoria y los punteros de las cadenas, de modo que la aplicación puede usar la función miembro GetText para recuperar el texto de un elemento determinado.
CBS_LOWERCASE Pasa a minúsculas todo el texto tanto del campo de selección como de la lista.
CBS_NOINTEGRALHEIGHT Especifica que el tamaño del cuadro combinado será exactamente igual al tamaño especificado por la aplicación cuando creó el cuadro combinado. Normalmente, Windows aplica un tamaño a los cuadros combinados que hace que estos no muestren elementos parciales.
CBS_OEMCONVERT El texto escrito en el control de edición del cuadro combinado se convierte del juego de caracteres ANSI al juego de caracteres OEM y, de nuevo, a ANSI. Esto garantiza que los caracteres se van a convertir correctamente cuando la aplicación llame a la función AnsiToOem de Windows para convertir una cadena ANSI del cuadro combinado en caracteres OEM. Este estilo es de máxima utilidad en los cuadros combinados que contienen nombres de archivo y es válido únicamente para los cuadros combinados creados con los estilos CBS_SIMPLE o CBS_DROPDOWN.
CBS_OWNERDRAWFIXED El propietario del cuadro de lista es responsable de dibujar su contenido. Los elementos del cuadro de lista tienen todos la misma altura.
CBS_OWNERDRAWVARIABLE El propietario del cuadro de lista es responsable de dibujar su contenido. Los elementos del cuadro de lista tienen una altura variable.
CBS_SIMPLE El cuadro de lista se muestra en todo momento. La selección actual del cuadro de lista se muestra en el control de edición.
CBS_SORT Ordena automáticamente las cadenas especificadas en el cuadro de lista.
CBS_UPPERCASE Pasa a mayúsculas todo el texto tanto del campo de selección como de la lista.

Estilos de edición

Los estilos de edición se aplican a los objetos de la clase CEdit. Especifique una combinación de estilos en el parámetro dwStyle de CEdit::Create. Para obtener más información sobre los estilos de control de edición en Windows, consulte Estilos de control de edición.

Estilo Descripción
ES_AUTOHSCROLL Desplaza el texto automáticamente 10 caracteres hacia la derecha cuando el usuario escribe un carácter al final de la línea. Cuando el usuario pulsa la tecla ENTRAR, el control desplaza todo el texto hasta la posición 0.
ES_AUTOVSCROLL Desplaza el texto automáticamente hacia arriba una página cuando el usuario pulsa ENTRAR en la última línea.
ES_CENTER Centra el texto de un control de edición de una sola línea o de varias líneas.
ES_LEFT Alinea a la izquierda el texto de un control de edición de una sola línea o de varias líneas.
ES_LOWERCASE Pasa todos los caracteres a minúsculas cuando se escriben en el control de edición.
ES_MULTILINE Designa un control de edición de varias líneas. (El valor predeterminado es una sola línea). Si se especifica el estilo ES_AUTOVSCROLL, el control de edición muestra tantas líneas como sea posible y se desplaza verticalmente cuando el usuario pulsa la tecla ENTRAR. Si no se especifica ES_AUTOVSCROLL, el control de edición muestra tantas líneas como sea posible y emite un pitido si se pulsa ENTRAR cuando no se pueden mostrar más líneas. Si se especifica el estilo ES_AUTOHSCROLL, el control de edición de varias líneas se desplaza automáticamente horizontalmente cuando el símbolo de inserción supera el borde derecho del control. Para iniciar una nueva línea, el usuario debe pulsar ENTRAR. Si no se proporciona ES_AUTOHSCROLL, el control ajusta automáticamente las palabras al principio de la línea siguiente cuando sea necesario; también se inicia una nueva línea si se pulsa ENTRAR. La posición del ajuste de palabra viene determinada por el tamaño de la ventana. Si cambia el tamaño de la ventana, cambia la posición del ajuste de palabra y se vuelve a mostrar el texto. Los controles de edición de varias líneas pueden tener barras de desplazamiento. Un control de edición con barras de desplazamiento procesa sus propios mensajes de barra de desplazamiento. Los controles de edición sin barras de desplazamiento se desplazan tal y como se ha descrito anteriormente y procesan los mensajes de desplazamiento enviados por la ventana primaria.
ES_NOHIDESEL Normalmente, un control de edición oculta la selección cuando el control pierde el foco de entrada e invierte la selección cuando el control recibe el foco de entrada. Al especificar ES_NOHIDESEL, se elimina esta acción predeterminada.
ES_NUMBER Permite que se escriban solo dígitos en el control de edición.
ES_OEMCONVERT El texto escrito en el control de edición se convierte del juego de caracteres ANSI al juego de caracteres OEM y, de nuevo, a ANSI. Esto garantiza que los caracteres se van a convertir correctamente cuando la aplicación llame a la función AnsiToOem de Windows para convertir una cadena ANSI del control de edición en caracteres OEM. Este estilo es más útil para los controles de edición que contienen nombres de archivo.
ES_PASSWORD Muestra todos los caracteres como un asterisco (*) a medida que se escriben en el control de edición. Una aplicación puede usar la función miembro SetPasswordChar para cambiar el carácter que se muestra.
ES_READONLY Impide que el usuario escriba o edite texto en el control de edición.
ES_RIGHT Alinea a la derecha el texto de un control de edición de una sola línea o de varias líneas.
ES_UPPERCASE Pasa todos los caracteres a mayúsculas cuando se escriben en el control de edición.
ES_WANTRETURN Especifica que se inserte un retorno de carro cuando el usuario pulsa la tecla ENTRAR mientras escribe texto en un control de edición de varias líneas en un cuadro de diálogo. Sin este estilo, pulsar la tecla ENTRAR tiene el mismo efecto que pulsar el botón de inserción predeterminado del cuadro de diálogo. Este estilo no tiene ningún efecto en un control de edición de una sola línea.

Estilos de ventana de marco

Los estilos de ventana de marco se aplican a los objetos de la clase CFrameWnd. Especifique una combinación de estilos en el parámetro dwStyle de CFrameWnd::Create.

Estilo Descripción
FWS_ADDTOTITLE Especifica la información que se va a anexar al final de un título de ventana de marco. Por ejemplo, "Microsoft Draw: dibujando en Documento1". Puede especificar las cadenas que se muestran en la pestaña Cadenas de plantilla de documento en el Asistente para aplicaciones. Si necesita desactivar esta opción, invalide la función miembro CWnd::PreCreateWindow.
FWS_PREFIXTITLE Muestra el nombre del documento antes del nombre de la aplicación en un título de ventana de marco. Por ejemplo, "Documento: WordPad". Puede especificar las cadenas que se muestran en la pestaña Cadenas de plantilla de documento en el Asistente para aplicaciones. Si necesita desactivar esta opción, invalide la función miembro CWnd::PreCreateWindow.
FWS_SNAPTOBARS Controla el dimensionamiento de la ventana de marco que incluye una barra de control cuando se encuentra en una ventana flotante en lugar de acoplada a una ventana de marco. Este estilo cambia el tamaño de la ventana para ajustarse a la barra de control.

Estilos de cuadro de lista

Los estilos de cuadro de lista se aplican a los objetos de la clase CListBox. Especifique una combinación de estilos en el parámetro dwStyle de CListBox::Create. Para obtener más información sobre los estilos de cuadro de lista en Windows, consulte Estilos de cuadro de lista.

Estilo Descripción
LBS_DISABLENOSCROLL El cuadro de lista muestra una barra de desplazamiento vertical deshabilitada si el cuadro de lista no contiene suficientes elementos por los que desplazarse. Sin este estilo, la barra de desplazamiento está oculta cuando el cuadro de lista no contiene suficientes elementos.
LBS_EXTENDEDSEL El usuario puede seleccionar varios elementos mediante la tecla MAYÚS y el mouse o combinaciones de teclas especiales.
LBS_HASSTRINGS Especifica un cuadro de lista dibujado por el propietario que contiene elementos que constan de cadenas. El cuadro de lista conserva la memoria y los punteros de las cadenas, de modo que la aplicación puede usar la función miembro GetText para recuperar el texto de un elemento determinado.
LBS_MULTICOLUMN Especifica un cuadro de lista de varias columnas con desplazamiento horizontal. La función miembro SetColumnWidth establece el ancho de las columnas.
LBS_MULTIPLESEL La selección de cadenas se alterna cada vez que el usuario hace clic o hace doble clic en la cadena. Se puede seleccionar cualquier número de cadenas.
LBS_NODATA Especifica un cuadro de lista sin datos. Especifique este estilo cuando el recuento de elementos del cuadro de lista supere los mil. Un cuadro de lista sin datos también debe tener el estilo LBS_OWNERDRAWFIXED, pero no debe tener el estilo LBS_SORT ni LBS_HASSTRINGS.

Un cuadro de lista sin datos se parece a un cuadro de lista dibujado por el propietario, excepto que no contiene datos de cadena o mapa de bits para un elemento. Los comandos para agregar, insertar o eliminar un elemento siempre omiten los datos de elementos especificados; siempre se produce un error en las solicitudes para buscar una cadena dentro del cuadro de lista. El sistema envía el mensaje WM_DRAWITEM a la ventana propietaria cuando se debe dibujar un elemento. El miembro itemID de la estructura DRAWITEMSTRUCT que se pasa con el mensaje WM_DRAWITEM especifica el número de línea del elemento que se va a dibujar. Un cuadro de lista sin datos no envía un mensaje WM_DELETEITEM.
LBS_NOINTEGRALHEIGHT El tamaño del cuadro de lista es exactamente igual al tamaño especificado por la aplicación cuando creó el cuadro de lista. Normalmente, Windows aplica un tamaño a los cuadros de lista que hace que estos no muestren elementos parciales.
LBS_NOREDRAW La presentación del cuadro de lista no se actualiza cuando se realizan cambios. Este estilo se puede cambiar en cualquier momento enviando un mensaje WM_SETREDRAW.
LBS_NOSEL Especifica que el cuadro de lista contiene elementos que se pueden ver pero no seleccionar.
LBS_NOTIFY La ventana primaria recibe un mensaje de entrada cada vez que el usuario hace clic o hace doble clic en una cadena.
LBS_OWNERDRAWFIXED El propietario del cuadro de lista es responsable de dibujar su contenido. Los elementos del cuadro de lista tienen la misma altura.
LBS_OWNERDRAWVARIABLE El propietario del cuadro de lista es responsable de dibujar su contenido. Los elementos del cuadro de lista tienen una altura variable.
LBS_SORT Las cadenas del cuadro de lista se ordenan alfabéticamente.
LBS_STANDARD Las cadenas del cuadro de lista se ordenan alfabéticamente y la ventana primaria recibe un mensaje de entrada cada vez que el usuario hace clic o hace doble clic en una cadena. El cuadro de lista contiene bordes en todos los lados.
LBS_USETABSTOPS Permite que un cuadro de lista reconozca y expanda los caracteres de tabulación al dibujar sus cadenas. Las posiciones de tabulación predeterminadas son 32 unidades de cuadro de diálogo. (Una unidad de cuadro de diálogo es una distancia horizontal o vertical. Una unidad de cuadro de diálogo horizontal es igual a una cuarta parte de la unidad de ancho base del cuadro de diálogo actual. Las unidades base del cuadro de diálogo se calculan en función del alto y ancho de la fuente actual del sistema. La función de Windows GetDialogBaseUnits devuelve las unidades base del cuadro de diálogo actuales en píxeles). Este estilo no se debe usar con LBS_OWNERDRAWFIXED.
LBS_WANTKEYBOARDINPUT El propietario del cuadro de lista recibe mensajes WM_VKEYTOITEM o WM_CHARTOITEM cada vez que el usuario pulsa una tecla mientras el cuadro de lista tiene el foco de entrada. Esto permite a una aplicación realizar un procesamiento especial con la entrada del teclado.

Estilos de cuadro de mensaje

Los estilos de cuadro de mensaje se aplican a los elementos AfxMessageBox. Especifique una combinación de estilos en el parámetro nType de AfxMessageBox. Para obtener más información sobre los estilos de cuadro de mensaje en Windows, consulte Función MessageBox (winuser.h).

Están disponibles los siguientes estilos de cuadro de mensaje.

Tipos de cuadro de mensaje

Estilo Descripción
MB_ABORTRETRYIGNORE El cuadro de mensaje contiene los botones tres botones de inserción: Anular, Reintentar y Omitir.
MB_OK El cuadro de mensaje contiene un botón de inserción: Aceptar.
MB_OKCANCEL El cuadro de mensaje contiene dos botones de inserción: Aceptar y Cancelar.
MB_RETRYCANCEL El cuadro de mensaje contiene dos botones de inserción: Reintentar y Cancelar.
MB_YESNO El cuadro de mensaje contiene dos botones de inserción: Sí y No.
MB_YESNOCANCEL El cuadro de mensaje contiene tres botones de inserción: Sí, No y Cancelar.

Modalidad de cuadro de mensaje

Estilo Descripción
MB_APPLMODAL El usuario debe responder al cuadro de mensaje antes de continuar trabajando en la ventana actual. Sin embargo, el usuario puede pasar a las ventanas de otras aplicaciones y trabajar en esas ventanas. Si no se especifica MB_SYSTEMMODAL ni MB_TASKMODAL, el valor predeterminado es MB_APPLMODAL.
MB_SYSTEMMODAL Se suspenden todas las aplicaciones hasta que el usuario responda al cuadro de mensaje. Los cuadros de mensaje modales del sistema se usan para notificar al usuario errores graves y potencialmente perjudiciales que requieren atención inmediata, y se deben usar con moderación.
MB_TASKMODAL Similar a MB_APPLMODAL, pero no resulta útil en una aplicación de clase de Microsoft Foundation. Esta marca está reservada para una aplicación o biblioteca que llama que no tiene disponible un manipulador de ventana.

Iconos de cuadro de mensaje

Estilo Descripción
MB_ICONEXCLAMATION Aparece un icono de signo de exclamación en el cuadro de mensaje.
MB_ICONINFORMATION Aparece un icono que consta de una "I" en un círculo en el cuadro de mensaje.
MB_ICONQUESTION Aparece un icono de signo de interrogación en el cuadro de mensaje.
MB_ICONSTOP Aparece un icono de signo de detención en el cuadro de mensaje.

Botones predeterminados de cuadro de mensaje

Estilo Descripción
MB_DEFBUTTON1 El primer botón es el valor predeterminado. Tenga en cuenta que el primer botón siempre es el predeterminado a menos que se especifique MB_DEFBUTTON2 o MB_DEFBUTTON3.
MB_DEFBUTTON2 El segundo botón es el valor predeterminado.
MB_DEFBUTTON3 El tercer botón es el valor predeterminado.

Estilos de barra de desplazamiento

Los estilos de barra de desplazamiento se aplican a los objetos de la clase CScrollBar. Especifique una combinación de estilos en el parámetro dwStyle de CScrollBar::Create. Para obtener más información sobre los estilos de control de barra de desplazamiento en Windows, consulte Estilos de control de barra de desplazamiento.

Estilo Descripción
SBS_BOTTOMALIGN Se usa con el estilo SBS_HORZ. El borde inferior de la barra de desplazamiento se alinea con el borde inferior del rectángulo especificado en la función miembro Create. La barra de desplazamiento tiene el alto predeterminado de las barras de desplazamiento del sistema.
SBS_HORZ Designa una barra de desplazamiento horizontal. Si no se especifica el estilo SBS_BOTTOMALIGN ni SBS_TOPALIGN, la barra de desplazamiento tiene el alto, el ancho y la posición especificados en la función miembro Create.
SBS_LEFTALIGN Se usa con el estilo SBS_VERT. El borde izquierdo de la barra de desplazamiento se alinea con el borde izquierdo del rectángulo especificado en la función miembro Create. La barra de desplazamiento tiene el ancho predeterminado de las barras de desplazamiento del sistema.
SBS_RIGHTALIGN Se usa con el estilo SBS_VERT. El borde derecho de la barra de desplazamiento se alinea con el borde derecho del rectángulo especificado en la función miembro Create. La barra de desplazamiento tiene el ancho predeterminado de las barras de desplazamiento del sistema.
SBS_SIZEBOX Designa un cuadro de tamaño. Si no se especifica el estilo SBS_SIZEBOXBOTTOMRIGHTALIGN ni SBS_SIZEBOXTOPLEFTALIGN, el cuadro de tamaño tiene el alto, el ancho y la posición especificados en la función miembro Create.
SBS_SIZEBOXBOTTOMRIGHTALIGN Se usa con el estilo SBS_SIZEBOX. La esquina inferior derecha del cuadro de tamaño se alinea con la esquina inferior derecha del rectángulo especificado en la función miembro Create. El cuadro de tamaño tiene el tamaño predeterminado de los cuadros de tamaño del sistema.
SBS_SIZEBOXTOPLEFTALIGN Se usa con el estilo SBS_SIZEBOX. La esquina superior izquierda del cuadro de tamaño se alinea con la esquina superior izquierda del rectángulo especificado en la función miembro Create. El cuadro de tamaño tiene el tamaño predeterminado de los cuadros de tamaño del sistema.
SBS_SIZEGRIP Igual que SBS_SIZEBOX, pero con un borde en relieve.
SBS_TOPALIGN Se usa con el estilo SBS_HORZ. El borde superior de la barra de desplazamiento se alinea con el borde superior del rectángulo especificado en la función miembro Create. La barra de desplazamiento tiene el alto predeterminado de las barras de desplazamiento del sistema.
SBS_VERT Designa una barra de desplazamiento vertical. Si no se especifica el estilo SBS_RIGHTALIGN ni SBS_LEFTALIGN, la barra de desplazamiento tiene el alto, el ancho y la posición especificados en la función miembro Create.

Estilos estáticos

Los estilos estáticos se aplican a los objetos de la clase CStatic. Especifique una combinación de estilos en el parámetro dwStyle de CStatic::Create. Para obtener más información sobre los estilos de control estático en Windows, consulte Estilos de control estático.

Estilo Descripción
SS_BITMAP Especifica que se va a mostrar un mapa de bits en el control estático. El texto especificado es el nombre de un mapa de bits (no un nombre de archivo) definido en otro lugar del archivo de recursos. El estilo omite los parámetros nWidth y nHeight; el control se ajusta automáticamente para dar cabida al mapa de bits.
SS_BLACKFRAME Especifica un cuadro con un marco dibujado con el mismo color que los marcos de ventana. El valor predeterminado es negro.
SS_BLACKRECT Especifica un rectángulo rellenado con el color utilizado para dibujar marcos de ventana. El valor predeterminado es negro.
SS_CENTER Designa un rectángulo simple y muestra el texto especificado centrado en el rectángulo. Se asigna formato al texto antes de que se muestre. Las palabras que se extenderían más allá del final de una línea se ajustan automáticamente al principio de la siguiente línea centrada.
SS_CENTERIMAGE Especifica que, si el mapa de bits o el icono es menor que el área cliente del control estático, el resto del área cliente se rellena con el color del píxel de la esquina superior izquierda del mapa de bits o el icono. Si el control estático contiene una sola línea de texto, el texto se centra verticalmente en el área cliente del control.
SS_ENDELLIPSIS o SS_PATHELLIPSIS reemplaza parte de la cadena especificada por puntos suspensivos, si es necesario, para que el resultado se ajuste al rectángulo especificado.

Puede especificar SS_END_ELLIPSIS para reemplazar caracteres al final de la cadena o SS_PATHELLIPSIS para reemplazar caracteres en medio de la cadena. Si la cadena contiene caracteres de barra diagonal inversa (\), SS_PATHELLIPSIS conserva la mayor parte del texto después de la última barra diagonal inversa posible.
SS_ENHMETAFILE Especifica que se mostrará un metarchivo mejorado en el control estático. El texto especificado es el nombre de un metarchivo. Un control estático de metarchivo mejorado tiene un tamaño fijo; el metarchivo se escala para ajustarse al área cliente del control estático.
SS_ETCHEDFRAME Dibuja el marco del control estático con el estilo de borde EDGE_ETCHED.
SS_ETCHEDHORZ Dibuja los bordes superior e inferior del control estático con el estilo de borde EDGE_ETCHED.
SS_ETCHEDVERT Dibuja los bordes izquierdo y derecho del control estático con el estilo de borde EDGE_ETCHED.
SS_GRAYFRAME Especifica un cuadro con un marco dibujado con el mismo color que el fondo de la pantalla (escritorio). El valor predeterminado es gris.
SS_GRAYRECT Especifica un rectángulo rellenado con el color utilizado para rellenar el fondo de la pantalla. El valor predeterminado es gris.
SS_ICON Designa un icono que se muestra en el cuadro de diálogo. El texto especificado es el nombre de un icono (no un nombre de archivo) definido en otro lugar del archivo de recursos. Los parámetros nWidth y nHeight se omiten; el icono se ajusta automáticamente al tamaño.
SS_LEFT Designa un rectángulo simple y muestra el texto especificado vaciado a la izquierda en el rectángulo. Se asigna formato al texto antes de que se muestre. Las palabras que se extenderían más allá del final de una línea se ajustan automáticamente al principio de la siguiente línea vaciada a la izquierda.
SS_LEFTNOWORDWRAP Designa un rectángulo simple y muestra el texto especificado vaciado a la izquierda en el rectángulo. Las tabulaciones se expanden, pero las palabras no se ajustan. El texto que se extiende más allá del final de una línea se recorta.
SS_NOPREFIX A menos que se especifique este estilo, Windows interpretará los caracteres y caracteres (&) del texto del control para que sean caracteres de prefijo acelerador. En este caso, se quita el símbolo de y comercial y se subraya el siguiente carácter de la cadena. Si un control estático va a contener texto en el que no se desea esta característica, se puede agregar SS_NOPREFIX. Este estilo de control estático se puede incluir con cualquiera de los controles estáticos definidos. Puede combinar SS_NOPREFIX con otros estilos mediante el operador OR bit a bit. Esto se usa con más frecuencia cuando los nombres de archivo u otras cadenas que pueden contener un signo de y comercial deben mostrarse en un control estático en un cuadro de diálogo.
SS_NOTIFY Envía los mensajes de notificación STN_CLICKED, STN_DBLCLK, STN_DISABLE y STN_ENABLE a la ventana primaria cuando el usuario hace clic o hace doble clic en el control.
SS_OWNERDRAW Especifica que el propietario del control estático es responsable de dibujar el control. La ventana propietaria recibe un mensaje WM_DRAWITEM cada vez que se debe dibujar el control.
SS_REALSIZEIMAGE Impide que se cambie el tamaño de un control de mapa de bits o icono estático (es decir, controles estáticos que tienen el estilo SS_ICON o SS_BITMAP) a medida que se carga o dibuja. Si el icono o mapa de bits es mayor que el área de destino, se recorta la imagen.
SS_RIGHT Designa un rectángulo simple y muestra el texto especificado vaciado a la derecha en el rectángulo. Se asigna formato al texto antes de que se muestre. Las palabras que se extenderían más allá del final de una línea se ajustan automáticamente al principio de la siguiente línea vaciada a la derecha.
SS_RIGHTJUST Especifica que la esquina inferior derecha de un control estático con el estilo SS_BITMAP o SS_ICON debe permanecer fija cuando se cambia el tamaño del control. Solo se ajustan los lados superior e izquierdo para dar cabida a un nuevo mapa de bits o icono.
SS_SIMPLE Designa un rectángulo simple y muestra una sola línea de texto vaciada a la izquierda en el rectángulo. La línea de texto no se puede acortar ni modificar de ninguna manera. (La ventana primaria o el cuadro de diálogo del control no deben procesar el mensaje WM_CTLCOLOR).
SS_SUNKEN Dibuja un borde medio hundido alrededor de un control estático.
SS_USERITEM Especifica un elemento definido por el usuario.
SS_WHITEFRAME Especifica un cuadro con un marco dibujado con el mismo color que el fondo de la ventana. El valor predeterminado es blanco.
SS_WHITERECT Especifica un rectángulo rellenado con el color utilizado para rellenar el fondo de la ventana. El valor predeterminado es blanco.
SS_WORDELLIPSIS Trunca el texto que no cabe y agrega puntos suspensivos.

Estilos de ventana

Los estilos de ventana se aplican a los objetos de la clase CWnd. Especifique una combinación de estilos en el parámetro dwStyle de CWnd::Create o CWnd::CreateEx. Para obtener más información sobre los estilos de ventana en Windows, consulte Estilos de ventana.

Estilo Descripción
WS_BORDER Crea una ventana que tiene un borde.
WS_CAPTION Crea una ventana que tiene una barra de título (implica el estilo WS_BORDER). No se puede usar con el estilo WS_DLGFRAME.
WS_CHILD Crea una ventana secundaria. No se puede usar con el estilo WS_POPUP.
WS_CHILDWINDOW Igual que el estilo WS_CHILD.
WS_CLIPCHILDREN Excluye el área ocupada por las ventanas secundarias al dibujar dentro de la ventana primaria. Se usa al crear la ventana primaria.
WS_CLIPSIBLINGS Recorta las ventanas secundarias relacionadas entre sí; es decir, cuando una ventana secundaria determinada recibe un mensaje de pintar, el estilo WS_CLIPSIBLINGS recorta todas las demás ventanas secundarias superpuestas fuera de la región de la ventana secundaria que se va a actualizar. (Si no se especifica WS_CLIPSIBLINGS y las ventanas secundarias se superponen, al dibujar dentro del área cliente de una ventana secundaria, es posible dibujar dentro del área cliente de una ventana secundaria vecina). Para su uso solo con el estilo WS_CHILD.
WS_DISABLED Crea una ventana que está deshabilitada inicialmente.
WS_DLGFRAME Crea una ventana con un borde doble, pero sin título.
WS_GROUP Especifica el primer control de un grupo de controles en los que el usuario puede pasar de un control al siguiente con las teclas de dirección. Todos los controles definidos con el estilo WS_GROUP con valor FALSE después del primer control pertenecen al mismo grupo. El siguiente control con el estilo WS_GROUP inicia el siguiente grupo (es decir, un grupo finaliza donde comienza el siguiente).
WS_HSCROLL Crea una ventana que tiene una barra de desplazamiento horizontal.
WS_ICONIC Crea una ventana que está minimizada inicialmente. Igual que el estilo WS_MINIMIZE.
WS_MAXIMIZE Crea una ventana del tamaño máximo.
WS_MAXIMIZEBOX Crea una ventana que tiene un botón Maximizar.
WS_MINIMIZE Crea una ventana que está minimizada inicialmente. Para su uso solo con el estilo WS_OVERLAPPED.
WS_MINIMIZEBOX Crea una ventana que tiene un botón Minimizar.
WS_OVERLAPPED Crea una ventana superpuesta. Normalmente, una ventana superpuesta tiene un título y un borde.
WS_OVERLAPPEDWINDOW Crea una ventana superpuesta con los estilos WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX y WS_MAXIMIZEBOX.
WS_POPUP Crea una ventana emergente. No se puede usar con el estilo WS_CHILD.
WS_POPUPWINDOW Crea una ventana emergente con los estilos WS_BORDER, WS_POPUP y WS_SYSMENU. El estilo WS_CAPTION se debe combinar con el estilo WS_POPUPWINDOW para que el menú Control sea visible.
WS_SIZEBOX Crea una ventana que tiene un borde de ajuste de tamaño. Igual que el estilo WS_THICKFRAME.
WS_SYSMENU Crea una ventana que tiene un cuadro de menú Control en su barra de título. Solo se usa para ventanas con barras de título.
WS_TABSTOP Especifica un control entre varios mediante los cuales el usuario se puede mover con la tecla TAB. La tecla TAB mueve al usuario al siguiente control especificado por el estilo WS_TABSTOP.
WS_THICKFRAME Crea una ventana con un marco grueso que se puede usar para ajustar el tamaño de la ventana.
WS_TILED Crea una ventana superpuesta. Una ventana superpuesta tiene una barra de título y un borde. Igual que el estilo WS_OVERLAPPED.
WS_TILEDWINDOW Crea una ventana superpuesta con los estilos WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX y WS_MAXIMIZEBOX. Igual que el estilo WS_OVERLAPPEDWINDOW.
WS_VISIBLE Crea una ventana que está visible inicialmente.
WS_VSCROLL Crea una ventana que tiene una barra de desplazamiento vertical.

Estilos de ventana extendidos

Los estilos de ventana extendidos se aplican a los objetos de la clase CWnd. Especifique una combinación de estilos en el parámetro dwExStyle de CWnd::CreateEx. Para obtener más información sobre los estilos de ventana extendidos en Windows, consulte Estilos de ventana extendidos.

Estilo Descripción
WS_EX_ACCEPTFILES Especifica que una ventana creada con este estilo acepta arrastrar y colocar archivos.
WS_EX_APPWINDOW Fuerza una ventana de nivel superior sobre la barra de tareas cuando la ventana está visible.
WS_EX_CLIENTEDGE Especifica que una ventana tiene un aspecto 3D, es decir, el borde tiene el filo hundido.
WS_EX_CONTEXTHELP Incluye un signo de interrogación en la barra de título de la ventana. Cuando el usuario hace clic en el signo de interrogación, el cursor se transforma en un signo de interrogación con un puntero. Si, a continuación, el usuario hace clic en una ventana secundaria, esta recibe un mensaje WM_HELP.
WS_EX_CONTROLPARENT Permite al usuario desplazarse entre las ventanas secundarias mediante la tecla TAB.
WS_EX_DLGMODALFRAME Designa una ventana con un borde doble que puede (opcionalmente) crearse con una barra de título al especificar la marca de estilo WS_CAPTION en el parámetro dwStyle.
WS_EX_LAYERED La ventana es una ventana por capas. Este estilo no se puede utilizar si la ventana tiene un estilo de clase con el valor CS_OWNDC o CS_CLASSDC. Sin embargo,Microsoft Windows 8 admite el estilo WS_EX_LAYERED para las ventanas secundarias, mientras que las versiones anteriores de Windows solo lo admitían para las ventanas de nivel superior.
WS_EX_LEFT Proporciona propiedades genéricas de ventana alineada a la izquierda. Este es el valor predeterminado.
WS_EX_LEFTSCROLLBAR Coloca una barra de desplazamiento vertical a la izquierda del área cliente.
WS_EX_LTRREADING Muestra el texto de la ventana con propiedades de orden de lectura de izquierda a derecha. Este es el valor predeterminado.
WS_EX_MDICHILD Crea una ventana MDI secundaria.
WS_EX_NOPARENTNOTIFY Especifica que una ventana secundaria creada con este estilo no enviará el mensaje WM_PARENTNOTIFY a su ventana primaria cuando se cree o se destruya la ventana secundaria.
WS_EX_OVERLAPPEDWINDOW Combina los estilos WS_EX_CLIENTEDGE y WS_EX_WINDOWEDGE.
WS_EX_PALETTEWINDOW Combina los estilos WS_EX_WINDOWEDGE y WS_EX_TOPMOST.
WS_EX_RIGHT Proporciona propiedades genéricas de ventana alineada a la derecha. Esto depende de la clase de ventana.
WS_EX_RIGHTSCROLLBAR Coloca una barra de desplazamiento vertical (si existe) a la derecha del área cliente. Este es el valor predeterminado.
WS_EX_RTLREADING Muestra el texto de la ventana con propiedades de orden de lectura de derecha a izquierda.
WS_EX_STATICEDGE Crea una ventana con un estilo de borde tridimensional diseñada para usarla con elementos que no aceptan entrada de usuario.
WS_EX_TOOLWINDOW Crea una ventana de herramientas, que es una ventana diseñada para usarla como barra de herramientas flotante. Una ventana de herramientas tiene una barra de título más corta que una normal y el título de la ventana se dibuja con una fuente menor. Una ventana de herramientas no aparece en la barra de tareas ni en la ventana que se muestra cuando el usuario presiona ALT+TAB.
WS_EX_TOPMOST Especifica que una ventana creada con este estilo se debe colocar encima de las ventanas que no son de nivel superior y se debe mantener encima de ellas incluso cuando se desactiva. Una aplicación puede utilizar la función miembro SetWindowPos para agregar o quitar este atributo.
WS_EX_TRANSPARENT Especifica que una ventana creada con este estilo debe ser transparente. Es decir, la ventana no tapa ninguna de las ventanas que estén debajo. Una ventana creada con este estilo solo recibe los mensajes WM_PAINT después de que todas las ventanas del mismo nivel que estén debajo de ella se hayan actualizado.
WS_EX_WINDOWEDGE Especifica que una ventana tiene el borde en relieve.

Consulte también

Información general de la biblioteca de clases
CWnd::Create
CWnd::CreateEx
CEdit::Create
CScrollBar::Create
CStatic::Create
AfxMessageBox
CreateWindow
CreateWindowEx
Estilos de botón
Estilos de cuadro combinado
Estilos de control de edición
Estilos de cuadro de lista
Función MessageBox (winuser.h)
Estilos de control de barra de desplazamiento
Estilos de control estático
Estilos de ventana
Estilos de ventana extendidos