Partilhar via


Tipos de botão

Existem vários tipos de botões e um ou mais estilos de botão para distinguir entre botões do mesmo tipo.

Este documento discute os seguintes tópicos.

Tipos e estilos de botão

Um botão pertence a um tipo e pode ter estilos adicionais que afetam sua aparência e comportamento. Para obter uma tabela de estilos de botão, consulte Estilos de Botão.

A captura de tela a seguir mostra os diferentes tipos de botões.

screen shot of a dialog box that shows examples of eight types of buttons

A captura de tela mostra como os botões podem aparecer no Windows Vista. A aparência irá variar em diferentes versões do sistema operacional, e de acordo com o tema definido pelo usuário.

Observe os seguintes pontos sobre a ilustração:

  • A caixa de seleção de três estados é mostrada no estado indeterminado. Quando marcada ou desmarcada, parece uma caixa de seleção normal.
  • O botão grande foi definido para o estado pressionado programaticamente (enviando a mensagem BM_SETSTATE), para que ele mantenha sua aparência mesmo quando não está sendo clicado.
  • No estilo visual mostrado, o plano de fundo do botão padrão (ou outro botão que tenha o foco de entrada) alterna entre azul e cinza.

Caixas de seleção

Uma caixa de seleção consiste em uma caixa quadrada e um rótulo, ícone ou bitmap definido pelo aplicativo que indica uma escolha que o usuário pode fazer selecionando o botão. Os aplicativos geralmente exibem caixas de seleção para permitir que o usuário escolha uma ou mais opções que não são mutuamente exclusivas.

Uma caixa de seleção pode ser um dos quatro estilos: padrão, automático, três estados e automático de três estados, conforme definido pelas constantes BS_CHECKBOX, BS_AUTOCHECKBOX, BS_3STATE e BS_AUTO3STATE, respectivamente. Cada estilo pode assumir dois estados de seleção: marcado (uma marca de seleção dentro da caixa) ou desmarcado (sem marca de seleção). Além disso, uma caixa de seleção de três estados pode assumir um estado indeterminado (uma caixa sombreada dentro da caixa de seleção), o que pode significar que o usuário não fez uma escolha. Clicar repetidamente em uma caixa de seleção padrão ou automática alterna-a de marcada para desmarcada e vice-versa. Clicar repetidamente em uma caixa de seleção de três estados alterna-a de marcada para desmarcada para indeterminada e, em seguida, repete o ciclo.

Quando o usuário clica em uma caixa de seleção (de qualquer estilo), a caixa de seleção recebe o foco do teclado. O sistema envia à janela pai da caixa de seleção uma mensagem WM_COMMAND contendo o código de notificação BN_CLICKED. A janela pai não precisa manipular essa mensagem se ela vier de uma caixa de seleção automática ou caixa de seleção automática de três estados, porque o sistema define automaticamente o estado de seleção para esses estilos. Mas a janela pai deve manipular a mensagem se ela vier de uma caixa de seleção não automática ou caixa de seleção de três estados, porque a janela pai é responsável por definir o estado de verificação para esses estilos. Independentemente do estilo da caixa de seleção, o sistema repinta automaticamente a caixa de seleção assim que seu estado é alterado.

O aplicativo pode verificar o estado de uma caixa de seleção usando a função IsDlgButtonChecked.

Caixas de grupo

Uma caixa de grupo é um retângulo que envolve um conjunto de controles, como caixas de seleção ou botões de opção, com um rótulo de texto definido pelo aplicativo em seu canto superior esquerdo. O único objetivo de uma caixa de grupo é organizar controles relacionados por um propósito comum (geralmente indicado pelo rótulo). A caixa de grupo tem apenas um estilo, definido pela constante BS_GROUPBOX. Como uma caixa de grupo não pode ser selecionada, ela não tem estado de verificação, estado de foco ou estado de push.

Botões

Um botão de pressão é um retângulo que contém um rótulo de texto definido pelo aplicativo, um ícone ou um bitmap que indica o que o botão faz quando o usuário o seleciona.

Um botão pode ser um dos dois estilos, padrão ou padrão, conforme definido pelas constantes BS_PUSHBUTTON e BS_DEFPUSHBUTTON. Um botão de pressão padrão é normalmente usado para iniciar uma operação. Ele recebe o foco do teclado quando o usuário clica nele. Um botão padrão é normalmente usado para indicar a opção mais comum ou padrão, como fechar a caixa de diálogo. É um botão que o usuário pode selecionar simplesmente pressionando ENTER quando nenhum outro botão na caixa de diálogo tem o foco de entrada.

Quando o usuário clica em um botão, ele recebe o foco do teclado. O sistema envia à janela pai do botão uma mensagem WM_COMMAND que contém o código de notificação BN_CLICKED.

O botão de divisão é um tipo especial de botão introduzido no Windows Vista e versão 6.00. Um botão de divisão é dividido em duas partes. A parte principal funciona como um botão normal ou padrão. A segunda parte tem uma seta apontando para baixo. Normalmente, um menu é exibido quando a seta é clicada.

Um botão de divisão tem o estilo BS_SPLITBUTTON ou o estilo BS_DEFSPLITBUTTON se for o botão padrão em uma caixa de diálogo. Você pode modificar a aparência do botão usando a mensagem BCM_SETSPLITINFO ou a macro Button_SetSplitInfo correspondente.

Quando o usuário clica na parte principal do botão de divisão, ele envia uma notificação BN_CLICKED como um botão normal. Mas quando o usuário clica na seta para baixo, ele envia uma notificação BCN_DROPDOWN . É responsabilidade do aplicativo exibir um menu em resposta a BCN_DROPDOWN.

O Windows Vista e a versão 6.00 também introduziram outro tipo de botão, o link de comando. Visualmente, um link de comando é muito diferente de um botão normal, mas tem a mesma funcionalidade. Um link de comando normalmente exibe um ícone de seta, uma linha de texto e texto adicional em uma fonte menor.

Botões de Opção

Um botão de opção (também chamado de botão de opção) consiste em um botão redondo e um rótulo, ícone ou bitmap definido pelo aplicativo que indica uma escolha que o usuário pode fazer selecionando o botão . Um aplicativo normalmente usa botões de opção em uma caixa de grupo para permitir que o usuário escolha uma de um conjunto de opções relacionadas, mas mutuamente exclusivas.

Um botão de opção pode ser um de dois estilos: padrão ou automático, conforme definido pelas constantes de estilo BS_RADIOBUTTON e BS_AUTORADIOBUTTON. Cada estilo pode assumir dois estados de verificação: marcado (um ponto no botão) ou desmarcado (sem ponto no botão).

Quando o usuário seleciona um dos estados, o botão de opção recebe o foco do teclado. O sistema envia à janela pai do botão uma mensagem WM_COMMAND contendo o código de notificação BN_CLICKED. A janela pai não precisa manipular essa mensagem se ela vier de um botão de opção automático, porque o sistema define automaticamente o estado de verificação para esse estilo. Mas a janela pai deve manipular a mensagem se ela vier de um botão de opção não automático, porque a janela pai é responsável por definir o estado de verificação para esse estilo. Independentemente do estilo do botão de opção, o sistema repinta automaticamente o botão à medida que seu estado muda.

Os botões de opção são organizados em grupos, e apenas um botão no grupo pode ser verificado a qualquer momento. Se o sinalizador WS_GROUP estiver definido para qualquer botão de opção, esse botão será o primeiro botão de um grupo, e todos os botões que o seguirem imediatamente na ordem de tabulação (mas não tiverem o sinalizador WS_GROUP) farão parte de seu grupo. Se nenhum botão de opção tiver o sinalizador WS_GROUP, todos os botões de opção na caixa de diálogo serão tratados como um único grupo.

O aplicativo pode verificar se um botão de opção é verificado usando a função IsDlgButtonChecked.

Referência

Estilos de botão

Conceitual

Usando botões