Estilos de botão

Especifica uma combinação de estilos de botão. Se você criar um botão usando a classe BUTTON com a função CreateWindow ou CreateWindowEx , poderá especificar qualquer um dos estilos de botão listados abaixo.

Exemplo

HRESULT Button::CreateText(HWND hParent, const TCHAR *szCaption, int nID, 
                               const Rect& rcBound)
{
    CREATESTRUCT create;
	ZeroMemory(&create, sizeof(CREATESTRUCT));

    create.x = rcBound.left;
    create.y = rcBound.top;
    create.cx = rcBound.right - create.x;
    create.cy = rcBound.bottom - create.y;

    create.hwndParent = hParent;
    create.lpszName = szCaption;
    create.hMenu = (HMENU)(INT_PTR)nID;
    create.lpszClass = TEXT("BUTTON");
    create.style = BS_PUSHBUTTON | BS_FLAT;
    return Control::Create(create);
}

Exemplo das Amostras do Windows Classic no GitHub.

Constantes

Constante Descrição
BS_3STATE
Cria um botão que é o mesmo que uma caixa de marcar, exceto que a caixa pode ser esmaeçada, bem como marcada ou desmarcada. Use o estado esmaecido para mostrar que o estado da caixa de marcar não está determinado.
BS_AUTO3STATE
Cria um botão que é o mesmo que uma caixa de marcar de três estados, exceto que a caixa altera seu estado quando o usuário o seleciona. O estado percorre verificado, indeterminado e desmarcado.
BS_AUTOCHECKBOX
Cria um botão que é o mesmo que uma caixa de marcar, exceto que o estado marcar alterna automaticamente entre marcado e desmarcado sempre que o usuário marca a caixa de marcar.
BS_AUTORADIOBUTTON
Cria um botão que é o mesmo que um botão de opção, exceto que quando o usuário o seleciona, o sistema define automaticamente o estado marcar do botão como verificado e define automaticamente o estado marcar para todos os outros botões no mesmo grupo a serem limpos.
BS_BITMAP
Especifica que o botão exiba um bitmap. Consulte a seção Comentários para obter sua interação com BS_ICON.
BS_BOTTOM
Coloca o texto na parte inferior do retângulo do botão.
BS_CENTER
Centraliza o texto horizontalmente no retângulo do botão.
BS_CHECKBOX
Cria uma caixa de marcar pequena e vazia com texto. Por padrão, o texto é exibido à direita da caixa marcar. Para exibir o texto à esquerda da caixa de marcar, combine esse sinalizador com o estilo BS_LEFTTEXT (ou com o estilo de BS_RIGHTBUTTON equivalente).
BS_COMMANDLINK
Cria um botão de link de comando que se comporta como um botão de estilo BS_PUSHBUTTON, mas o botão de link de comando tem uma seta verde à esquerda apontando para o texto do botão. Uma legenda para o texto do botão pode ser definida enviando a mensagem BCM_SETNOTE para o botão.
BS_DEFCOMMANDLINK
Cria um botão de link de comando que se comporta como um botão de estilo BS_PUSHBUTTON. Se o botão estiver em uma caixa de diálogo, o usuário poderá selecionar o botão de link de comando pressionando a tecla ENTER, mesmo quando o botão de link de comando não tiver o foco de entrada. Esse estilo é útil para permitir que o usuário selecione rapidamente a opção mais provável (padrão).
BS_DEFPUSHBUTTON
Cria um botão de ação que se comporta como um botão de estilo BS_PUSHBUTTON, mas tem uma aparência distinta. Se o botão estiver em uma caixa de diálogo, o usuário poderá selecionar o botão pressionando a tecla ENTER, mesmo quando o botão não tiver o foco de entrada. Esse estilo é útil para permitir que o usuário selecione rapidamente a opção mais provável (padrão).
BS_DEFSPLITBUTTON
Cria um botão de divisão que se comporta como um botão de estilo BS_PUSHBUTTON, mas também tem uma aparência distinta. Se o botão dividir estiver em uma caixa de diálogo, o usuário poderá selecionar o botão de divisão pressionando a tecla ENTER, mesmo quando o botão de divisão não tiver o foco de entrada. Esse estilo é útil para permitir que o usuário selecione rapidamente a opção mais provável (padrão).
BS_GROUPBOX
Cria um retângulo no qual outros controles podem ser agrupados. Qualquer texto associado a esse estilo é exibido no canto superior esquerdo do retângulo.
BS_ICON
Especifica que o botão exiba um ícone. Consulte a seção Comentários para obter sua interação com BS_BITMAP.
BS_FLAT
Especifica que o botão é bidimensional; ele não usa o sombreamento padrão para criar uma imagem 3D.
BS_LEFT
Justifica à esquerda o texto no retângulo do botão. No entanto, se o botão for uma caixa de marcar ou um botão de opção que não tenha o estilo BS_RIGHTBUTTON, o texto será deixado justificado no lado direito da caixa de marcar ou do botão de opção.
BS_LEFTTEXT
Coloca o texto no lado esquerdo do botão de opção ou da caixa de marcar quando combinado com um botão de opção ou marcar estilo de caixa. O mesmo que o estilo de BS_RIGHTBUTTON.
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 códigos de notificação BN_KILLFOCUS e BN_SETFOCUS para sua janela pai.
Observe que os botões enviam o código de notificação BN_CLICKED independentemente de ele ter esse estilo. Para obter BN_DBLCLK códigos de notificação, o botão deve ter o estilo BS_RADIOBUTTON ou BS_OWNERDRAW.
BS_OWNERDRAW
Cria um botão desenhado pelo proprietário. A janela proprietário recebe uma mensagem WM_DRAWITEM quando um aspecto visual do botão é alterado. Não combine o estilo BS_OWNERDRAW com outros estilos de botão.
BS_PUSHBUTTON
Cria um botão de push que posta uma mensagem WM_COMMAND na janela do proprietário quando o usuário seleciona o botão.
BS_PUSHLIKE
Faz com que um botão (como uma caixa de marcar, caixa de marcar de três estados ou botão de opção) pareça e aja como um botão de ação. O botão fica acionado quando não é pressionado ou marcado e afundado quando é pressionado ou verificado.
BS_RADIOBUTTON
Cria um pequeno círculo com texto. Por padrão, o texto é exibido à direita do círculo. Para exibir o texto à esquerda do círculo, combine esse sinalizador com o estilo BS_LEFTTEXT (ou com o estilo de BS_RIGHTBUTTON equivalente). Use botões de opção para grupos de opções relacionadas, mas mutuamente exclusivas.
BS_RIGHT
Justifica o texto à direita no retângulo do botão. No entanto, se o botão for uma caixa de marcar ou um botão de opção que não tenha o estilo BS_RIGHTBUTTON, o texto será justificado à direita no lado direito da caixa de marcar ou do botão de opção.
BS_RIGHTBUTTON
Posiciona o círculo de um botão de opção ou o quadrado de uma caixa de marcar no lado direito do retângulo do botão. O mesmo que o estilo de BS_LEFTTEXT.
BS_SPLITBUTTON
Cria um botão de divisão. Um botão de divisão tem uma seta suspensa.
BS_TEXT
Especifica que o botão exiba texto.
BS_TOP
Coloca o texto na parte superior do retângulo do botão.
BS_TYPEMASK
Não use esse estilo. Um bit de estilo composto que resulta do uso do operador OR em bits de estilo BS_*. Ele pode ser usado para mascarar bits válidos BS_* de uma determinada máscara de bits. Observe que isso está desatualizado e não inclui corretamente todos os estilos válidos. Portanto, você não deve usar esse estilo.
BS_USERBUTTON
Obsoleto, mas fornecido para compatibilidade com versões de 16 bits do Windows. Em vez disso, os aplicativos devem usar BS_OWNERDRAW.
BS_VCENTER
Coloca o texto no meio (verticalmente) do retângulo do botão.

Comentários

Para ilustrações dos estilos de botão principal, como BS_CHECKBOX e BS_GROUPBOX, consulte Tipos de botão.

A aparência do texto ou de um ícone ou ambos em um controle de botão depende dos estilos BS_ICON e BS_BITMAP e se a mensagem BM_SETIMAGE é enviada. Os resultados possíveis são os seguintes.

BS_ICON ou conjunto de BS_BITMAP? BM_SETIMAGE ligou? Result
Sim Sim Mostrar somente ícone.
No Sim Mostrar ícone e texto.
Sim No Mostrar somente texto.
No No Mostrar somente texto

Requisitos

Requisito Valor
parâmetro
Winuser.h