Estilos usados pelo MFC

Use os sinalizadores de estilo a seguir para especificar a aparência e o comportamento da janela ou do controle ao criar o objeto MFC correspondente. Na maioria dos casos, esses estilos são definidos no parâmetro dwStyleda função de classe Create.

Estilos de botão

Estilos de botão se aplicam a objetos CButton Class, como botões de opção, caixas de seleção e botões de pressão. Especifique uma combinação de estilos no parâmetro dwStyle de CButton::Create. Para obter mais informações sobre estilos de botão no Windows, consulte Estilos de botão (Windows).

Tipos de botão

A tabela a seguir lista os tipos de botão. Você pode opcionalmente escolher um dos seguintes estilos. Se você não especificar um tipo de botão, o padrão será BS_PUSHBUTTON.

Tipo Descrição
BS_3STATE Cria um botão de caixa de seleção com três estados: BST_CHECKED, BST_INDETERMINATE e BST_UNCHECKED. Clicar no botão envia uma notificação BN_CLICKED para a janela proprietário, mas não altera o estado do botão. Por padrão, o texto associado é exibido à direita da caixa de seleção. Para exibir o texto à esquerda da caixa de seleção, use o estilo BS_LEFTTEXT ou BS_RIGHTBUTTON.
BS_AUTO3STATE Cria um botão de caixa de seleção com três estados: BST_CHECKED, BST_INDETERMINATE e BST_UNCHECKED. Clicar no botão envia uma notificação BN_CLICKED para a janela proprietário e altera o estado do botão. Os estados do botão alternam na ordem de BST_CHECKED, BST_INDETERMINATE e BST_UNCHECKED. Por padrão, o texto associado é exibido à direita da caixa de seleção. Para exibir o texto à esquerda da caixa de seleção, use o estilo BS_LEFTTEXT ou BS_RIGHTBUTTON.
BS_AUTOCHECKBOX Cria um botão de caixa de seleção com dois estados: BST_CHECKED e BST_UNCHECKED. Clicar no botão envia uma notificação BN_CLICKED para a janela proprietário e altera o estado do botão. Por padrão, o texto associado é exibido à direita da caixa de seleção. Para exibir o texto à esquerda da caixa de seleção, use o estilo BS_LEFTTEXT ou BS_RIGHTBUTTON.
BS_AUTORADIOBUTTON Cria um botão de opção com dois estados: BST_CHECKED e BST_UNCHECKED. Os botões de opção geralmente são usados em grupos, com cada grupo tendo no máximo uma opção selecionada por vez. Clicar no botão envia uma notificação BN_CLICKED para a janela do proprietário, define o estado do botão de opção clicado como BST_CHECKED e define os estados de todos os outros botões de opção no grupo de botões como BST_UNCHECKED. Por padrão, o texto associado é exibido à direita do botão de opção. Para exibir o texto à esquerda do botão de opção, use o estilo BS_LEFTTEXT ou BS_RIGHTBUTTON.
BS_CHECKBOX Cria um botão de caixa de seleção com dois estados: BST_CHECKED e BST_UNCHECKED. Clicar no botão envia uma notificação BN_CLICKED para a janela proprietário, mas não altera o estado do botão. Por padrão, o texto associado é exibido à direita da caixa de seleção. Para exibir o texto à esquerda da caixa de seleção, use o estilo BS_LEFTTEXT ou BS_RIGHTBUTTON.
BS_COMMANDLINK Cria um botão de link de comando. Um botão de link de comando é um botão de comando específico do Windows Vista que exibe uma seta verde à esquerda do texto principal e uma observação abaixo do texto principal. Você pode definir o texto da observação usando CButton::SetNote.
BS_DEFCOMMANDLINK Cria um botão de link de comando. Um botão de link de comando é um botão de comando específico do Windows Vista que exibe uma seta verde à esquerda do texto principal e uma observação abaixo do texto principal. Você pode definir o texto da observação usando CButton::SetNote. Se o botão estiver em uma caixa de diálogo, pressionar a tecla ENTER enviará uma notificação BN_CLICKED para a caixa de diálogo mesmo quando o botão não tiver o foco de entrada.
BS_DEFPUSHBUTTON Cria um botão de comando que tem uma borda preta espessa. Se o botão estiver em uma caixa de diálogo, pressionar a tecla ENTER enviará uma notificação BN_CLICKED para a caixa de diálogo mesmo quando o botão não tiver o foco de entrada.
BS_DEFSPLITBUTTON Cria um botão de divisão. Um botão de divisão é um botão de comando específico do Windows Vista que contém um botão adjacente a uma seta suspensa. Quando você clica no botão, o comando padrão é executado. Quando você clica na seta suspensa, aparece um menu de comandos adicionais. Se o botão de divisão estiver em uma caixa de diálogo, pressionar a tecla ENTER enviará uma notificação BN_CLICKED para a caixa de diálogo mesmo quando o botão não tiver o foco de entrada
BS_GROUPBOX Cria um retângulo no qual outros botões podem ser agrupados. O texto associado a esse estilo é exibido no canto superior esquerdo do retângulo.
BS_OWNERDRAW Cria um botão desenhado pelo proprietário. A estrutura chama o método DrawItem quando um aspecto visual do botão é alterado. Esse estilo deve ser definido quando você usa a classe CBitmapButton.
BS_PUSHBUTTON Cria um botão de comando que envia uma notificação BN_CLICKED para a janela do proprietário quando o usuário clica no botão.
BS_RADIOBUTTON Cria um botão de opção com dois estados: BST_CHECKED e BST_UNCHECKED. Os botões de opção geralmente são usados em grupos, com cada grupo tendo no máximo uma opção selecionada por vez. Clicar no botão envia uma notificação BN_CLICKED para a janela do proprietário, mas não altera automaticamente o estado de qualquer botão no grupo. Por padrão, o texto associado é exibido à direita do botão de opção. Para exibir o texto à esquerda do botão de opção, use o estilo BS_LEFTTEXT ou BS_RIGHTBUTTON.
BS_SPLITBUTTON Cria um botão de divisão. Um botão de divisão é um botão de comando específico do Windows Vista que contém um botão adjacente a uma seta suspensa. Quando você clica no botão, o comando padrão é executado. Quando você clica na seta suspensa, aparece um menu de comandos adicionais.
BS_USERBUTTON Obsoleto, mas fornecido para compatibilidade com versões de 16 bits do Windows. Alternativamente, os aplicativos baseados em Win32 devem usar BS_OWNERDRAW.

Estilos de botão de opção e de caixa de seleção

A tabela a seguir lista os estilos específicos para botões de opção e caixas de seleção. Esses estilos são ignorados em todos os outros tipos de botão. Você pode opcionalmente escolher um ou mais dos seguintes estilos.

Estilo Descrição
BS_LEFTTEXT Quando combinado com um estilo botão de opção ou de caixa de seleção, o texto aparece no lado esquerdo do botão de opção ou da caixa de seleção.
BS_RIGHTBUTTON Quando combinado com um estilo botão de opção ou de caixa de seleção, o texto aparece no lado esquerdo do botão de opção ou da caixa de seleção. Esse estilo é idêntico ao estilo BS_LEFTTEXT.
BS_PUSHLIKE Faz com que uma caixa de seleção ou botão de opção se pareça e funcione como um botão de comando. O botão aparece pressionado quando seu estado é BST_CHECKED, pressionado e esmaecido quando seu estado é BST_INDETERMINATE e liberado quando seu estado é BST_UNCHECKED.

Estilos de alinhamento de texto de botão

A tabela a seguir lista as opções de alinhamento de texto horizontal e vertical. Você pode opcionalmente escolher um dos seguintes estilos.

Estilo Descrição
BS_LEFT A esquerda alinha o texto no retângulo do botão. No entanto, se o botão for uma caixa de seleção ou um botão de opção que não tenha o estilo BS_RIGHTBUTTON, o texto será alinhado à esquerda no lado direito da caixa de seleção ou do botão de opção.
BS_RIGHT A direta alinha o texto no retângulo do botão. No entanto, se o botão for uma caixa de seleção ou um botão de opção que não tenha o estilo BS_RIGHTBUTTON, o texto será alinhado à direita no lado direito da caixa de seleção ou do botão de opção.
BS_CENTER Centraliza o texto horizontalmente no retângulo do botão.
BS_TOP Coloca o texto na parte superior do retângulo do botão.
BS_BOTTOM Coloca o texto na parte inferior do retângulo do botão.
BS_VCENTER Centraliza o texto verticalmente no retângulo do botão.

Opções de conteúdo do botão

A tabela a seguir lista as opções que indicam o que é exibido no botão. Tipos de botão que exibem apenas texto ignoram esses estilos. Você pode opcionalmente escolher um dos seguintes estilos.

Estilo Descrição
BS_BITMAP Especifica que o botão exiba um bitmap.
BS_ICON Especifica que o botão exiba um ícone.
BS_TEXT Especifica que o botão exiba texto.

Outras opções de botão

A tabela a seguir lista opções adicionais que você pode usar com qualquer tipo de botão. Você pode opcionalmente escolher um ou mais dos seguintes estilos.

Estilo Descrição
BS_FLAT Especifica que o botão é bidimensional e não é desenhado com sombreamento padrão para criar uma imagem tridimensional.
BS_MULTILINE Encapsula o texto do botão em várias linhas se a cadeia de texto for muito longa para caber em uma única linha no retângulo do botão.
BS_NOTIFY Permite que um botão envie as mensagens de notificação BN_DBLCLK, BN_KILLFOCUS e BN_SETFOCUS para sua janela pai. Observe que os botões enviam a notificação BN_CLICKED independentemente se esse estilo está especificado.

Estilos de caixa de combinação

Os estilos de caixa de combinação a seguir estão disponíveis no MFC. Para obter mais informações sobre estilos de caixa de combinação no Windows, consulte Estilos de caixa de combinação (Windows).

Estilo Descrição
CBS_AUTOHSCROLL Rola automaticamente o texto no controle de edição para a direita quando o usuário digita um caractere no fim da linha. Se esse estilo não estiver definido, somente o texto que se ajusta dentro do limite retangular será permitido.
CBS_DISABLENOSCROLL A caixa de listagem mostra uma barra de rolagem vertical desabilitada quando a caixa de listagem não contém itens suficientes para rolar. Sem esse estilo, a barra de rolagem fica oculta quando a caixa de listagem não contém itens suficientes.
CBS_DROPDOWN Semelhante a CBS_SIMPLE, exceto que a caixa de listagem não é exibida, a menos que o usuário selecione um ícone ao lado do controle de edição.
CBS_DROPDOWNLIST Semelhante a CBS_DROPDOWN, exceto que o controle de edição é substituído por um item de texto estático que exibe a seleção atual na caixa de listagem.
CBS_HASSTRINGS Uma caixa de combinação desenhada pelo proprietário contém itens que consistem em cadeias de caracteres. A caixa de combinação mantém a memória e os ponteiros das cadeias de caracteres para que o aplicativo possa usar a função membro GetText para recuperar o texto de um item específico.
CBS_LOWERCASE Converte em letras minúsculas todo o texto no campo de seleção e na lista.
CBS_NOINTEGRALHEIGHT Especifica que o tamanho da caixa de combinação é exatamente o tamanho especificado pelo aplicativo quando ele criou a caixa de combinação. Normalmente, o Windows dimensiona uma caixa de combinação para que ela não exiba itens parciais.
CBS_OEMCONVERT O texto inserido no controle de edição da caixa de combinação é convertido do conjunto de caracteres ANSI para o conjunto de caracteres OEM e, em seguida, de volta para ANSI. Isso garante a conversão de caracteres adequada quando o aplicativo chama a função do AnsiToOem Windows para converter uma cadeia de caracteres ANSI na caixa de combinação em caracteres OEM. Esse estilo é mais útil para caixas de combinação que contêm nomes de arquivo e se aplica somente a caixas de combinação criadas com os estilos CBS_SIMPLE ou CBS_DROPDOWN.
CBS_OWNERDRAWFIXED O proprietário da caixa de listagem é responsável por desenhar seu conteúdo. Todos os itens na caixa de listagem têm a mesma altura.
CBS_OWNERDRAWVARIABLE O proprietário da caixa de listagem é responsável por desenhar seu conteúdo. Os itens na caixa de listagem têm altura variável.
CBS_SIMPLE A caixa de listagem é exibida o tempo todo. A seleção atual na caixa de listagem é exibida no controle de edição.
CBS_SORT Classifica automaticamente as cadeias de caracteres inseridas na caixa de listagem.
CBS_UPPERCASE Converte em letras maiúsculas todo o texto no campo de seleção e na lista.

Estilos de edição

Os estilos de edição se aplicam a objetos Classe CEdit. Especifique uma combinação de estilos no parâmetro dwStyle de CEdit::Create. Para obter mais informações sobre estilos de controle de edição no Windows, consulte Estilos de controle de edição (Windows).

Estilo Descrição
ES_AUTOHSCROLL Rola automaticamente o texto para a direita em até 10 caracteres quando o usuário digita um caractere no fim da linha. Quando o usuário pressiona a tecla ENTER, o controle rola todo o texto de volta para a posição 0.
ES_AUTOVSCROLL Rola automaticamente o texto para cima em uma página quando o usuário pressiona ENTER na última linha.
ES_CENTER Centraliza o texto em um controle de edição de linha única ou de várias linhas.
ES_LEFT Alinha à esquerda o texto em um controle de edição de linha única ou de várias linhas.
ES_LOWERCASE Converte todos os caracteres em minúsculas à medida que são digitados no controle de edição.
ES_MULTILINE Designa um controle de edição de várias linhas. (O padrão é uma linha única.) Se o estilo ES_AUTOVSCROLL for especificado, o controle de edição mostrará o máximo de linhas possível e rolará verticalmente quando o usuário pressionar a tecla ENTER. Se ES_AUTOVSCROLL não for dado, o controle de edição mostrará o máximo de linhas possível e emite um aviso sonoro se ENTER for pressionado quando não for possível exibir mais linhas. Se o estilo ES_AUTOHSCROLL for especificado, o controle de edição de várias linhas rolará automaticamente na horizontal quando o cursor passar pela borda direita do controle. Para iniciar uma nova linha, o usuário deve pressionar ENTER. Se ES_AUTOHSCROLL não for dado, o controle encapsula automaticamente as palavras para o início da próxima linha quando necessário; uma nova linha também será iniciada se ENTER for pressionado. A posição da quebra automática de linha é determinada pelo tamanho da janela. Se o tamanho da janela for alterado, a posição da quebra automática de linha será alterada e o texto será exibido novamente. Controles de edição de várias linhas podem ter barras de rolagem. Um controle de edição com barras de rolagem processa suas próprias mensagens de barra de rolagem. Edite controles sem rolar barras de rolagem conforme descrito acima e processe qualquer mensagem de rolagem enviada pela janela pai.
ES_NOHIDESEL Normalmente, um controle de edição oculta a seleção quando o controle perde o foco de entrada e inverte a seleção quando o controle recebe o foco de entrada. Especificar ES_NOHIDESEL exclui essa ação padrão.
ES_NUMBER Permite que apenas dígitos sejam inseridos no controle de edição.
ES_OEMCONVERT O texto inserido no controle de edição é convertido do conjunto de caracteres ANSI para o conjunto de caracteres OEM e, em seguida, de volta para ANSI. Isso garante a conversão de caracteres adequada quando o aplicativo chama a função do AnsiToOem Windows para converter uma cadeia de caracteres ANSI em caracteres OEM. Esse estilo é mais útil para editar controles que contêm nomes de arquivo.
ES_PASSWORD Exibe todos os caracteres como um asterisco (*) à medida que são digitados no controle de edição. Um aplicativo pode usar a função membro SetPasswordChar para alterar o caractere exibido.
ES_READONLY Impede que o usuário insira ou edite texto no controle de edição.
ES_RIGHT Alinha à direita o texto em um controle de edição de linha única ou de várias linhas.
ES_UPPERCASE Converte todos os caracteres em maiúsculas à medida que são digitados no controle de edição.
ES_WANTRETURN Especifica que um retorno de carro seja inserido quando o usuário pressiona a tecla ENTER ao inserir o texto em um controle de edição de várias linhas em uma caixa de diálogo. Sem esse estilo, pressionar a tecla ENTER tem o mesmo efeito que pressionar a o botão de pressão padrão da caixa de diálogo. Esse estilo não tem efeito em um controle de edição de linha única.

Estilos de janela com moldura

Os estilos de janela com moldura se aplicam a objetos Classe CFrameWnd. Especifique uma combinação de estilos no parâmetro dwStyle de CFrameWnd::Create.

Estilo Descrição
FWS_ADDTOTITLE Especifica informações a serem acrescentadas ao final do título de uma janela com moldura. Por exemplo, "Desenho da Microsoft – Desenho no Documento1". Você pode especificar as cadeias de caracteres exibidas na guia Cadeias de Caracteres de Modelo de Documento no Assistente de Aplicativo. Se você precisar desativar essa opção, substitua a função membro CWnd::PreCreateWindow.
FWS_PREFIXTITLE Mostra o nome do documento antes do nome do aplicativo no título de uma janela com moldura. Por exemplo, "Documento – WordPad". Você pode especificar as cadeias de caracteres exibidas na guia Cadeias de Caracteres de Modelo de Documento no Assistente de Aplicativo. Se você precisar desativar essa opção, substitua a função membro CWnd::PreCreateWindow.
FWS_SNAPTOBARS Controla o dimensionamento da janela com moldura que contém uma barra de controle quando ela está em uma janela flutuante em vez de encaixada em uma janela com moldura. Esse estilo dimensiona a janela para ajustar-se na barra de controle.

Estilos de caixa de listagem

Os estilos de caixa de listagem se aplicam a objetos Classe CListBox. Especifique uma combinação de estilos no parâmetro dwStyle de CListBox::Create. Para obter mais informações sobre estilos de caixa de listagem no Windows, consulte Estilos de caixa de listagem (Windows).

Estilo Descrição
LBS_DISABLENOSCROLL A caixa de listagem mostra uma barra de rolagem vertical desabilitada quando a caixa de listagem não contém itens suficientes para rolar. Sem esse estilo, a barra de rolagem fica oculta quando a caixa de listagem não contém itens suficientes.
LBS_EXTENDEDSEL O usuário pode selecionar vários itens usando a chave SHIFT e as combinações de mouse ou de chave especial.
LBS_HASSTRINGS Especifica uma caixa de listagem desenhada pelo proprietário contendo itens que consistem em cadeias de caracteres. A caixa de listagem mantém a memória e os ponteiros das cadeias de caracteres para que o aplicativo possa usar a função membro GetText para recuperar o texto de um item específico.
LBS_MULTICOLUMN Especifica uma caixa de listagem de várias colunas que é rolada horizontalmente. A função membro SetColumnWidth define a largura das colunas.
LBS_MULTIPLESEL A seleção de cadeia de caracteres é alternada sempre que o usuário clica uma ou duas vezes na cadeia de caracteres. Qualquer número de cadeias de caracteres pode ser selecionado.
LBS_NODATA Especifica uma caixa de listagem sem dados. Especifique esse estilo quando a contagem de itens na caixa de listagem exceder mil. Uma caixa de listagem sem dados também deve ter o estilo LBS_OWNERDRAWFIXED, mas não deve ter o estilo LBS_SORT ou LBS_HASSTRINGS.

Uma caixa de listagem sem dados se assemelha a uma caixa de listagem desenhada pelo proprietário, exceto por não conter dados de bitmap ou cadeia de caracteres para um item. Os comandos para adicionar, inserir ou excluir um item sempre ignoram qualquer dado de item determinado. As solicitações para localizar uma cadeia de caracteres dentro da caixa de listagem sempre falham. O sistema envia a mensagem WM_DRAWITEM para a janela proprietário quando um item deve ser desenhado. O membro itemID da estrutura DRAWITEMSTRUCT passada com a mensagem WM_DRAWITEM especifica o número de linha do item a ser desenhado. Uma caixa de listagem sem dados não envia uma mensagem WM_DELETEITEM.
LBS_NOINTEGRALHEIGHT O tamanho da caixa de listagem é exatamente o tamanho especificado pelo aplicativo quando ele criou a caixa de listagem. Normalmente, o Windows dimensiona uma caixa de listagem para que ela não exiba itens parciais.
LBS_NOREDRAW A exibição de caixa de listagem não é atualizada quando alterações são feitas. Esse estilo pode ser alterado a qualquer momento enviando uma mensagem WM_SETREDRAW.
LBS_NOSEL Especifica que a caixa de listagem contém itens que podem ser exibidos, mas não selecionados.
LBS_NOTIFY A janela pai recebe uma mensagem de entrada sempre que o usuário clica uma ou duas vezes em uma cadeia de caracteres.
LBS_OWNERDRAWFIXED O proprietário da caixa de listagem é responsável por desenhar seu conteúdo. Os itens na caixa de listagem têm a mesma altura.
LBS_OWNERDRAWVARIABLE O proprietário da caixa de listagem é responsável por desenhar seu conteúdo. Os itens na caixa de listagem têm altura variável.
LBS_SORT As cadeias de caracteres na caixa de listagem são classificadas em ordem alfabética.
LBS_STANDARD As cadeias de caracteres na caixa de listagem são classificadas em ordem alfabética e a janela pai recebe uma mensagem de entrada sempre que o usuário clica uma ou duas vezes em uma cadeia de caracteres. A caixa de listagem contém bordas em todos os lados.
LBS_USETABSTOPS Permite que uma caixa de listagem reconheça e expanda caracteres de tabulação ao desenhar suas cadeias de caracteres. As posições de tabulação padrão são 32 unidades de diálogo. (Uma unidade de diálogo é uma distância horizontal ou vertical. Uma unidade de diálogo horizontal é igual a um quarto da unidade de largura base da caixa de diálogo atual. As unidades base de diálogo são calculadas com base na altura e largura da fonte atual do sistema. A função GetDialogBaseUnits do Windows retorna as unidades base de diálogo atuais em pixels.) Esse estilo não deve ser usado com LBS_OWNERDRAWFIXED.
LBS_WANTKEYBOARDINPUT O proprietário da caixa de listagem recebe as mensagens WM_VKEYTOITEM ou WM_CHARTOITEM sempre que o usuário pressiona uma tecla enquanto a caixa de listagem tem foco de entrada. Isso permite que um aplicativo execute um processamento especial na entrada de teclado.

Estilos da caixa de mensagem

Os estilos de caixa de mensagem se aplicam a itens AfxMessageBox. Especifique uma combinação de estilos no parâmetro nType de AfxMessageBox. Para obter mais informações sobre estilos de caixa de mensagens no Windows, consulte Função MessageBox(Windows).

Os estilos de caixa de mensagem a seguir estão disponíveis.

Tipos de caixa de mensagem

Estilo Descrição
MB_ABORTRETRYIGNORE A caixa de mensagem contém três botões de pressão: Anular, Tentar novamente e Ignorar.
MB_OK A caixa de mensagem contém um botão de pressão: OK.
MB_OKCANCEL A caixa de mensagem contém dois botões de pressão: OK e Cancelar.
MB_RETRYCANCEL A caixa de mensagem contém dois botões de pressão: Tentar novamente e Cancelar.
MB_YESNO A caixa de mensagem contém dois botões de pressão: Sim e Não.
MB_YESNOCANCEL A caixa de mensagem contém três botões de pressão: Sim, Não e Cancelar.

Modalidade de caixa de mensagem

Estilo Descrição
MB_APPLMODAL O usuário deve responder à caixa de mensagem antes de continuar o trabalho na janela atual. No entanto, o usuário pode mudar para as janelas de outros aplicativos e trabalhar nessas janelas. O padrão é MB_APPLMODAL se MB_SYSTEMMODAL nem MB_TASKMODAL for especificado.
MB_SYSTEMMODAL Todos os aplicativos são suspensos até que o usuário responda à caixa de mensagem. As caixas de mensagem modal do sistema são usadas para notificar o usuário sobre erros graves e potencialmente prejudiciais que exigem atenção imediata e devem ser usados com moderação.
MB_TASKMODAL Semelhante a MB_APPLMODAL, mas não útil em um aplicativo de classe do Microsoft Foundation. Esse sinalizador é reservado para um aplicativo de chamada ou biblioteca que não tem um identificador de janela disponível.

Ícones da caixa de mensagem

Estilo Descrição
MB_ICONEXCLAMATION Um ícone de ponto de exclamação aparece na caixa de mensagem.
MB_ICONINFORMATION Um ícone que consiste em um "I" em um círculo aparece na caixa de mensagem.
MB_ICONQUESTION Um ícone de ponto de interrogação aparece na caixa de mensagem.
MB_ICONSTOP Um ícone de sinal de parada aparece na caixa de mensagem.

Botões padrão da caixa de mensagem

Estilo Descrição
MB_DEFBUTTON1 O primeiro botão é o padrão. Observe que o primeiro botão é sempre o padrão, a menos que MB_DEFBUTTON2 ou MB_DEFBUTTON3 seja especificado.
MB_DEFBUTTON2 O segundo botão é o padrão.
MB_DEFBUTTON3 O terceiro botão é o padrão.

Estilos de barra de rolagem

Os estilos de barra de rolagem se aplicam a objetos Classe CScrollBar. Especifique uma combinação de estilos no parâmetro dwStyle de CScrollBar::Create. Para obter mais informações sobre estilos de controle de barra de rolagem no Windows, consulte Estilos de controle de barra de rolagem (Windows).

Estilo Descrição
SBS_BOTTOMALIGN Usado com o estilo SBS_HORZ. A borda inferior da barra de rolagem é alinhada com a borda inferior do retângulo especificado na função membro Create. A barra de rolagem tem a altura padrão das barras de rolagem do sistema.
SBS_HORZ Designa uma barra de rolagem horizontal. Se nenhum dos estilos SBS_BOTTOMALIGN ou SBS_TOPALIGN for especificado, a barra de rolagem terá a altura, a largura e a posição fornecidas na função membro Create.
SBS_LEFTALIGN Usado com o estilo SBS_VERT. A borda esquerda da barra de rolagem é alinhada com a borda esquerda do retângulo especificado na função membro Create. A barra de rolagem tem a largura padrão das barras de rolagem do sistema.
SBS_RIGHTALIGN Usado com o estilo SBS_VERT. A borda direita da barra de rolagem é alinhada com a borda direita do retângulo especificado na função membro Create. A barra de rolagem tem a largura padrão das barras de rolagem do sistema.
SBS_SIZEBOX Designa uma caixa de dimensionamento. Se nenhum dos estilos SBS_SIZEBOXBOTTOMRIGHTALIGN ou SBS_SIZEBOXTOPLEFTALIGN for especificado, a caixa de dimensionamento terá a altura, a largura e a posição fornecidas na função membro Create.
SBS_SIZEBOXBOTTOMRIGHTALIGN Usado com o estilo SBS_SIZEBOX. O canto inferior direito da caixa de dimensionamento é alinhado com o canto inferior direito do retângulo especificado na função membro Create. A caixa de dimensionamento tem o tamanho padrão das caixas de tamanho do sistema.
SBS_SIZEBOXTOPLEFTALIGN Usado com o estilo SBS_SIZEBOX. O canto superior esquerdo da caixa de dimensionamento é alinhado com o canto superior esquerdo do retângulo especificado na função membro Create. A caixa de dimensionamento tem o tamanho padrão das caixas de tamanho do sistema.
SBS_SIZEGRIP O mesmo que SBS_SIZEBOX, mas com uma borda em alto-relevo.
SBS_TOPALIGN Usado com o estilo SBS_HORZ. A borda superior da barra de rolagem é alinhada com a borda superior do retângulo especificado na função membro Create. A barra de rolagem tem a altura padrão das barras de rolagem do sistema.
SBS_VERT Designa uma barra de rolagem vertical. Se nenhum dos estilos SBS_RIGHTALIGN ou SBS_LEFTALIGN for especificado, a barra de rolagem terá a altura, a largura e a posição fornecidas na função membro Create.

Estilos estáticos

Os estilos estáticos se aplicam a objetos Classe CStatic. Especifique uma combinação de estilos no parâmetro dwStyle de CStatic::Create. Para obter mais informações sobre estilos de controle estático no Windows, consulte Estilos de controle estático (Windows).

Estilo Descrição
SS_BITMAP Especifica que um bitmap deve ser exibido no controle estático. O texto fornecido é o nome de um bitmap (não um nome de arquivo) definido em outro lugar no arquivo de recurso. O estilo ignora os parâmetros nWidth e nHeight. O controle é dimensionado automaticamente para acomodar o bitmap.
SS_BLACKFRAME Especifica uma caixa com um quadro desenhado com a mesma cor que as molduras da janela. O padrão é preto.
SS_BLACKRECT Especifica um retângulo preenchido com a cor usada para desenhar as molduras da janela. O padrão é preto.
SS_CENTER Designa um retângulo simples e exibe o texto centralizado no retângulo. O texto é formatado antes de ser exibido. As palavras que se estenderiam até o final de uma linha são automaticamente encapsuladas para o início da próxima linha centralizada.
SS_CENTERIMAGE Especifica que, se o bitmap ou o ícone for menor que a área de cliente do controle estático, o restante da área de cliente será preenchido com a cor do pixel no canto superior esquerdo do bitmap ou do ícone. Se o controle estático contiver uma única linha de texto, o texto será centralizado verticalmente na área de cliente do controle.
SS_ENDELLIPSIS ou SS_PATHELLIPSIS substitui a parte da cadeia de caracteres fornecida por reticências, se necessário, para que o resultado se ajuste no retângulo especificado.

Você pode especificar SS_END_ELLIPSIS para substituir caracteres no final da cadeia de caracteres ou SS_PATHELLIPSIS para substituir caracteres no meio da cadeia de caracteres. Se a cadeia de caracteres contiver caracteres de barra invertida (\), SS_PATHELLIPSIS preservará o máximo possível do texto após a última barra invertida.
SS_ENHMETAFILE Especifica que um metarquivo avançado deve ser exibido no controle estático. O texto fornecido é o nome de um metarquivo. Um controle estático de metarquivo avançado tem um tamanho fixo e o metarquivo é dimensionado para se ajustar à área de cliente do controle estático.
SS_ETCHEDFRAME Desenha o quadro do controle estático usando o estilo de borda EDGE_ETCHED.
SS_ETCHEDHORZ Desenha as bordas superior e inferior do controle estático usando o estilo de borda EDGE_ETCHED.
SS_ETCHEDVERT Desenha as esquerda e direita do controle estático usando o estilo de borda EDGE_ETCHED.
SS_GRAYFRAME Especifica uma caixa com um quadro desenhado com a mesma cor que a tela de fundo (área de trabalho). O padrão é cinza.
SS_GRAYRECT Especifica um retângulo preenchido com a cor usada para preencher a tela de fundo. O padrão é cinza.
SS_ICON Designa um ícone exibido na caixa de diálogo. O texto fornecido é o nome de um ícone (não um nome de arquivo) definido em outro lugar no arquivo de recurso. Os parâmetros nWidth e nHeight são ignorados e o ícone é dimensionado automaticamente.
SS_LEFT Designa um retângulo simples e exibe o texto recuado à esquerda no retângulo. O texto é formatado antes de ser exibido. As palavras que se estenderiam até o final de uma linha são automaticamente encapsuladas para o início da próxima linha com recuo à esquerda.
SS_LEFTNOWORDWRAP Designa um retângulo simples e exibe o texto recuado à esquerda no retângulo. As guias são expandidas, mas as palavras não são encapsuladas. O texto que se estende até o final de uma linha é recortado.
SS_NOPREFIX A menos que esse estilo seja especificado, Windows interpretará todos os caracteres de e comercial (&) no texto do controle como caracteres de prefixo de acelerador. Nesse caso, o E comercial será removido e o próximo caractere na cadeia de caracteres será sublinhado. Se um controle estático precisar conter texto em que esse recurso não é desejado, SS_NOPREFIX pode ser adicionado. Esse estilo de controle estático pode ser incluído em qualquer um dos controles estáticos definidos. É possível combinar SS_NOPREFIX com outros estilos usando o operador OR bit a bit. Isso é usado com mais frequência quando nomes de arquivo ou outras cadeias de caracteres que podem conter um E comercial precisam ser exibidos em um controle estático em uma caixa de diálogo.
SS_NOTIFY Envia as mensagens de notificação STN_CLICKED, STN_DBLCLK, STN_DISABLE e STN_ENABLE da a janela pai quando o usuário clica ou clica duas vezes no controle.
SS_OWNERDRAW Especifica que o proprietário do controle estático é responsável por desenhar o controle. A janela do proprietário recebe uma mensagem WM_DRAWITEM sempre que o controle precisa ser desenhado.
SS_REALSIZEIMAGE Impede que um ícone estático ou controle bitmap (ou seja, controles estáticos que têm o estilo SS_ICON ou SS_BITMAP) seja redimensionado conforme é carregado ou desenhado. Se o ícone ou bitmap for maior que a área de destino, a imagem será recortada.
SS_RIGHT Designa um retângulo simples e exibe o texto recuado à direita no retângulo. O texto é formatado antes de ser exibido. As palavras que se estenderiam até o final de uma linha são automaticamente encapsuladas para o início da próxima linha com recuo à direita.
SS_RIGHTJUST Especifica que o canto inferior direito de um controle estático com o estilo SS_BITMAP ou SS_ICON deve permanecer fixo quando o controle for redimensionado. Somente os lados superior e esquerdo são ajustados para acomodar um novo bitmap ou ícone.
SS_SIMPLE Designa um retângulo simples e exibe uma única linha de texto recuada à esquerda no retângulo. A linha de texto não pode ser abreviada ou alterada de forma alguma. (A janela ou a caixa de diálogo pai do controle não deve processar a mensagem WM_CTLCOLOR.)
SS_SUNKEN Desenha uma borda submersa ao redor de um controle estático.
SS_USERITEM Especifica um item definido pelo usuário.
SS_WHITEFRAME Especifica uma caixa com um quadro desenhado com a mesma cor que o plano de fundo da janela. O padrão é branco.
SS_WHITERECT Especifica um retângulo preenchido com a cor usada para preencher o plano de fundo da janela. O padrão é branco.
SS_WORDELLIPSIS Trunca o texto que não se ajusta e adiciona reticências.

Estilos de janela

Os estilos de janela se aplicam a objetos Classe CWnd. Especifique uma combinação de estilos no parâmetro dwStyle de CWnd::Create ou CWnd::CreateEx. Para obter mais informações sobre estilos de janela no Windows, consulte Estilos de janela (Windows).

Estilo Descrição
WS_BORDER Cria uma janela que tem uma borda.
WS_CAPTION Cria uma janela que tem uma barra de título (implica o estilo WS_BORDER). Não pode ser usado com o estilo WS_DLGFRAME.
WS_CHILD Cria uma janela filho. Não pode ser usado com o estilo WS_POPUP.
WS_CHILDWINDOW O mesmo que o estilo WS_CHILD.
WS_CLIPCHILDREN Exclui a área ocupada por janelas filho quando você desenha dentro da janela pai. Usado quando você cria a janela pai.
WS_CLIPSIBLINGS Recorta janelas filho em relação umas às outras; ou seja, quando uma janela filho em particular recebe uma mensagem de pintura, o estilo WS_CLIPSIBLINGS recorta todas as outras janelas filho sobrepostas fora da região da janela filho a ser atualizada. (Se WS_CLIPSIBLINGS não for fornecido e as janelas filho se sobrepuserem quando você desenha dentro da área de cliente de uma janela filho, é possível desenhar dentro da área de cliente de uma janela filho vizinha.) Para uso somente com o estilo WS_CHILD.
WS_DISABLED Cria uma janela que estava inicialmente desabilitada.
WS_DLGFRAME Cria uma janela com uma borda dupla, mas sem título.
WS_GROUP Especifica o primeiro controle de um grupo de controles no qual o usuário pode se mover de um controle para o outro com as teclas de direção. Todos os controles definidos com o estilo WS_GROUP ou FALSE após o primeiro controle pertencem ao mesmo grupo. O próximo controle com o estilo WS_GROUP inicia o próximo grupo (ou seja, um grupo termina onde o próximo começa).
WS_HSCROLL Cria uma janela que tem uma barra de rolagem horizontal.
WS_ICONIC Cria uma janela que estava inicialmente minimizada. O mesmo que o estilo WS_MINIMIZE.
WS_MAXIMIZE Cria uma janela de tamanho máximo.
WS_MAXIMIZEBOX Cria uma janela que tem um botão Maximizar.
WS_MINIMIZE Cria uma janela que estava inicialmente minimizada. Para uso somente com o estilo WS_OVERLAPPED.
WS_MINIMIZEBOX Cria uma janela que tem um botão Minimizar.
WS_OVERLAPPED Cria uma janela sobreposta. Uma janela sobreposta geralmente tem uma legenda e uma borda.
WS_OVERLAPPEDWINDOW Cria uma janela sobreposta com os estilos WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX e WS_MAXIMIZEBOX.
WS_POPUP Cria uma janela pop-up. Não pode ser usado com o estilo WS_CHILD.
WS_POPUPWINDOW Cria uma janela pop-up com os estilos WS_BORDER, WS_POPUP e WS_SYSMENU. O estilo WS_CAPTION deve ser combinado com o estilo WS_POPUPWINDOW para tornar o menu Controle visível.
WS_SIZEBOX Cria uma janela que tem uma borda de dimensionamento. O mesmo que o estilo WS_THICKFRAME.
WS_SYSMENU Cria uma janela que tem uma caixa de menu Controle em sua barra de título. Usado apenas para janelas com barras de título.
WS_TABSTOP Especifica um controle dentre qualquer número de controles por meio do qual o usuário pode se mover usando a tecla TAB. A tecla TAB move o usuário para o próximo controle especificado pelo estilo WS_TABSTOP.
WS_THICKFRAME Cria uma janela com um quadro espesso que pode ser usado para dimensionar a janela.
WS_TILED Cria uma janela sobreposta. Uma janela sobreposta tem uma barra de título e uma borda. O mesmo que o estilo WS_OVERLAPPED.
WS_TILEDWINDOW Cria uma janela sobreposta com os estilos WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX e WS_MAXIMIZEBOX. O mesmo que o estilo WS_OVERLAPPEDWINDOW.
WS_VISIBLE Cria uma janela que estava inicialmente visível.
WS_VSCROLL Cria uma janela que tem uma barra de rolagem vertical.

Estilos de janela estendida

Os estilos de janela estendida se aplicam a objetos Classe CWnd. Especifique uma combinação de estilos no parâmetro dwExStyle de CWnd::CreateEx. Para obter mais informações sobre estilos de janela estendida no Windows, consulte Estilos de janela estendida (Windows).

Estilo Descrição
WS_EX_ACCEPTFILES Especifica que uma janela criada com esse estilo aceita arquivos do tipo "arrastar e soltar".
WS_EX_APPWINDOW Força uma janela de nível superior por sobre a barra de tarefas quando a janela está visível.
WS_EX_CLIENTEDGE Especifica que uma janela tem uma aparência 3D, ou seja, um contorno com uma borda submersa.
WS_EX_CONTEXTHELP Inclui um ponto de interrogação na barra de título da janela. Quando o usuário clica no ponto de interrogação, o cursor muda para um ponto de interrogação com um ponteiro. Se o usuário clicar em uma janela filho, o filho receberá uma mensagem WM_HELP.
WS_EX_CONTROLPARENT Permite que o usuário navegue entre as janelas filho da janela usando a tecla TAB.
WS_EX_DLGMODALFRAME Designa uma janela com uma borda dupla que pode (opcionalmente) ser criada com uma barra de título quando você especificar o sinalizador de estilo WS_CAPTION no parâmetro dwStyle.
WS_EX_LAYERED A janela é uma janela em camadas. Esse estilo não poderá ser usado se a janela tiver um estilo de classe CS_OWNDC ou CS_CLASSDC. No entanto, o Microsoft Windows 8 dá suporte ao estilo WS_EX_LAYERED para janelas filho, enquanto as versões anteriores do Windows dão suporte apenas a janelas de nível superior.
WS_EX_LEFT Fornece propriedades genéricas alinhadas à esquerda da janela. Esse é o padrão.
WS_EX_LEFTSCROLLBAR Coloca uma barra de rolagem vertical à esquerda da área de cliente.
WS_EX_LTRREADING Exibe o texto da janela usando as propriedades de ordem de leitura da esquerda para a direita. Esse é o padrão.
WS_EX_MDICHILD Cria uma janela filho MDI.
WS_EX_NOPARENTNOTIFY Especifica que uma janela filho criada com esse estilo não enviará a mensagem WM_PARENTNOTIFY para sua janela pai quando a janela filho for criada ou destruída.
WS_EX_OVERLAPPEDWINDOW Combina os estilos WS_EX_CLIENTEDGE e WS_EX_WINDOWEDGE
WS_EX_PALETTEWINDOW Combina os estilos WS_EX_WINDOWEDGE e WS_EX_TOPMOST.
WS_EX_RIGHT Fornece uma janela de propriedades genéricas alinhadas à direita. Isso depende da classe de janela.
WS_EX_RIGHTSCROLLBAR Coloca uma barra de rolagem vertical (se presente) à direita da área de cliente. Esse é o padrão.
WS_EX_RTLREADING Exibe o texto da janela usando as propriedades de ordem de leitura da direita para a esquerda.
WS_EX_STATICEDGE Cria uma janela com um estilo de borda tridimensional a ser usada para itens que não aceitam entrada de usuário.
WS_EX_TOOLWINDOW Cria uma janela de ferramenta, que é uma janela a ser usada como uma barra de ferramentas flutuante. Uma janela de ferramentas tem uma barra de título mais curta que uma barra de título normal e o título da janela é desenhado usando uma fonte menor. Uma janela de ferramentas não é exibida na barra de tarefas ou na janela exibida quando o usuário pressiona ALT+TAB.
WS_EX_TOPMOST Especifica que uma janela criada com esse estilo deve ser colocada acima de todas as janelas não mais ao alto e permanecer acima delas mesmo quando a janela for desativada. Um aplicativo pode usar a função membro SetWindowPos para adicionar ou remover esse atributo.
WS_EX_TRANSPARENT Especifica que uma janela criada com esse estilo deve ser transparente. Ou seja, todas as janelas que estão abaixo da janela não são obscurecidas pela janela. Uma janela criada com esse estilo recebe mensagens WM_PAINT somente depois que todas as janelas irmãs abaixo dela tenham sido atualizadas.
WS_EX_WINDOWEDGE Especifica que uma janela tem uma borda com um contorno com uma borda em alto-relevo.

Confira também

Visão geral de classes MFC
CWnd::Create
CWnd::CreateEx
CEdit::Create
CScrollBar::Create
CStatic::Create
AfxMessageBox
CreateWindow
CreateWindowEx
Estilos de botão (Windows)
Estilos de caixa de combinação (Windows)
Editar estilos de controle (Windows)
Estilos de caixa de listagem (Windows)
MessageBox Função (Windows)
Estilos de controle de barra de rolagem (Windows)
Estilos de controle estático (Windows)
Estilos de janela (Windows)
Estilos de janela estendida (Windows)