Botão (Controles do Windows)

Esta seção contém informações sobre os elementos de programação usados com controles de botão. Um botão é um controle no qual o usuário pode clicar para fornecer entrada a um aplicativo.

Visões gerais

Tópico Contents
Mensagens de botão Este tópico discute as mensagens que são usadas com botões.
Estados do botão Esta seção discute como a seleção de um botão altera seu estado e como o aplicativo deve responder.
Tipos de botões Este tópico discute os diferentes tipos de botões.
Usando botões Esta seção explica como executar determinadas tarefas associadas a botões.

Funções

Tópico Contents
CheckDlgButton Altera o estado de verificação de um controle de botão.
CheckRadioButton Adiciona uma marca de seleção a (verifica) um botão de opção especificado em um grupo e remove uma marca de seleção de (limpa) todos os outros botões de opção do grupo.
IsDlgButtonChecked A função IsDlgButtonChecked determina se um controle de botão está marcado ou se um controle de botão de três estados está marcado, desmarcado ou indeterminado.

Macros

Tópico Contents
Button_Enable Habilita ou desabilita um botão.
Button_GetCheck Obtém o estado de verificação de um botão de opção ou caixa de seleção. Você pode usar essa macro ou enviar a mensagem de BM_GETCHECK explicitamente.
Button_GetIdealSize Obtém o tamanho do botão que melhor se ajusta ao texto e à imagem, se uma lista de imagens estiver presente. Você pode usar essa macro ou enviar a mensagem de BCM_GETIDEALSIZE explicitamente.
Button_GetImageList Obtém a estrutura BUTTON_IMAGELIST que descreve a lista de imagens definida para um controle de botão. Você pode usar essa macro ou enviar a mensagem de BCM_GETIMAGELIST explicitamente.
Button_GetNote Obtém o texto da nota associado a um botão de link de comando. Você pode usar essa macro ou enviar a mensagem de BCM_GETNOTE explicitamente.
Button_GetNoteLength Obtém o comprimento do texto da nota que pode ser exibido na descrição de um link de comando. Use essa macro ou envie a mensagem de BCM_GETNOTELENGTH explicitamente.
Button_GetSplitInfo Obtém informações para um controle de botão de divisão especificado. Use essa macro ou envie a mensagem BCM_GETSPLITINFO explicitamente.
Button_GetState Obtém o estado de verificação de um botão de opção ou caixa de seleção. Você pode usar essa macro ou enviar a mensagem de BM_GETSTATE explicitamente.
Button_GetText Obtém o texto de um botão.
Button_GetTextLength Obtém o número de caracteres no texto de um botão.
Button_GetTextMargin Obtém as margens usadas para desenhar texto em um controle de botão. Você pode usar essa macro ou enviar a mensagem de BCM_GETTEXTMARGIN explicitamente.
Button_SetCheck Define o estado de verificação de um botão de opção ou caixa de seleção. Você pode usar essa macro ou enviar a mensagem BM_SETCHECK explicitamente.
Button_SetDropDownState Define o estado suspenso de um botão especificado com estilo de BS_SPLITBUTTON. Use essa macro ou envie a mensagem BCM_SETDROPDOWNSTATE explicitamente.
Button_SetElevationRequiredState Define o estado de elevação necessário para um botão ou link de comando especificado para exibir um ícone elevado. Use essa macro ou envie a mensagem BCM_SETSHIELD explicitamente.
Button_SetImageList Atribui uma lista de imagens a um controle de botão. Você pode usar essa macro ou enviar a mensagem de BCM_SETIMAGELIST explicitamente.
Button_SetNote Define o texto da nota associado a um botão de link de comando especificado. Você pode usar essa macro ou enviar a mensagem de BCM_SETNOTE explicitamente.
Button_SetSplitInfo Define informações para um controle de botão de divisão especificado. Use essa macro ou envie a mensagem de BCM_SETSPLITINFO explicitamente.
Button_SetState Define o estado de realce de um botão. O estado de realce indica se o botão está realçado como se o usuário o tivesse pressionado. Você pode usar essa macro ou enviar a mensagem de BM_SETSTATE explicitamente.
Button_SetStyle Define o estilo de um botão. Você pode usar essa macro ou enviar a mensagem de BM_SETSTYLE explicitamente.
Button_SetText Define o texto de um botão.
Button_SetTextMargin Define as margens para desenhar texto em um controle de botão. Você pode usar essa macro ou enviar a mensagem de BCM_SETTEXTMARGIN explicitamente.

Mensagens

Tópico Contents
BCM_GETIDEALSIZE Obtém o tamanho do botão que melhor se ajusta ao seu texto e imagem, se uma lista de imagens estiver presente. Você pode enviar essa mensagem explicitamente ou usar a macro Button_GetIdealSize.
BCM_GETIMAGELIST Obtém a estrutura BUTTON_IMAGELIST que descreve a lista de imagens atribuída a um controle de botão. Você pode enviar essa mensagem explicitamente ou usar a macro Button_GetImageList.
BCM_GETNOTE Obtém o texto da nota associado a um botão de link de comando. Você pode enviar essa mensagem explicitamente ou usar a macro Button_GetNote.
BCM_GETNOTELENGTH Obtém o comprimento do texto da nota que pode ser exibido na descrição de um botão de link de comando. Envie essa mensagem explicitamente ou usando a macro Button_GetNoteLength.
BCM_GETSPLITINFO Obtém informações para um controle de botão de divisão. Envie esta mensagem explicitamente ou usando a macro Button_GetSplitInfo.
BCM_GETTEXTMARGIN Obtém as margens usadas para desenhar texto em um controle de botão. Você pode enviar essa mensagem explicitamente ou usar a macro Button_GetTextMargin.
BCM_SETDROPDOWNSTATE Define o estado suspenso de um botão com estilo TBSTYLE_DROPDOWN. Envie essa mensagem explicitamente ou usando a macro Button_SetDropDownState.
BCM_SETIMAGELIST Atribui uma lista de imagens a um controle de botão. Você pode enviar essa mensagem explicitamente ou usar a macro Button_SetImageList.
BCM_SETNOTE Define o texto da nota associado a um botão de link de comando. Você pode enviar essa mensagem explicitamente ou usar a macro Button_SetNote.
BCM_SETSHIELD Define o estado de elevação necessário para um botão ou link de comando especificado para exibir um ícone elevado. Envie essa mensagem explicitamente ou usando a macro Button_SetElevationRequiredState.
BCM_SETSPLITINFO Define informações para um controle de botão de divisão. Envie essa mensagem explicitamente ou usando a macro Button_SetSplitInfo.
BCM_SETTEXTMARGIN A mensagem BCM_SETTEXTMARGIN define as margens para desenhar texto em um controle de botão.
BM_CLICK Simula o usuário clicando em um botão. Essa mensagem faz com que o botão receba as mensagens WM_LBUTTONDOWN e WM_LBUTTONUP e a janela pai do botão receba um código de notificação BN_CLICKED.
BM_GETCHECK Obtém o estado de verificação de um botão de opção ou caixa de seleção. Você pode enviar essa mensagem explicitamente ou usar a macro Button_GetCheck.
BM_GETIMAGE Recupera um identificador para a imagem (ícone ou bitmap) associada ao botão.
BM_GETSTATE Recupera o estado de um botão ou caixa de seleção. Você pode enviar essa mensagem explicitamente ou usar a macro Button_GetState.
BM_SETCHECK Define o estado de verificação de um botão de opção ou caixa de seleção. Você pode enviar essa mensagem explicitamente ou usando a macro Button_SetCheck.
BM_SETDONTCLICK Define um sinalizador em um botão de opção que controla a geração de mensagens de BN_CLICKED quando o botão recebe foco.
BM_SETIMAGE Associa uma nova imagem (ícone ou bitmap) ao botão.
BM_SETSTATE Define o estado de realce de um botão. O estado de realce indica se o botão está realçado como se o usuário o tivesse pressionado. Você pode enviar essa mensagem explicitamente ou usar a macro Button_SetState.
BM_SETSTYLE Define o estilo de um botão. Você pode enviar essa mensagem explicitamente ou usar a macro Button_SetStyle.

Notifications

Tópico Contents
BCN_DROPDOWN Enviado quando o usuário clica em uma seta suspensa em um botão. A janela pai do controle recebe esse código de notificação na forma de uma mensagem WM_NOTIFY.
BCN_HOTITEMCHANGE Notifica o proprietário do controle de botão de que o mouse está entrando ou saindo da área do cliente do controle de botão. O controle button envia esse código de notificação na forma de uma mensagem WM_NOTIFY .
BN_CLICKED Enviado quando o usuário clica em um botão.
A janela pai do botão recebe o código de notificação BN_CLICKED por meio da mensagem WM_COMMAND.
BN_DBLCLK Enviado quando o usuário clica duas vezes em um botão. Esse código de notificação é enviado automaticamente para botões BS_USERBUTTON, BS_RADIOBUTTON e BS_OWNERDRAW. Outros tipos de botão enviam BN_DBLCLK somente se tiverem o estilo BS_NOTIFY.
A janela pai do botão recebe o código de notificação BN_DBLCLK por meio da mensagem WM_COMMAND.
BN_DISABLE Enviado quando um botão está desabilitado. Nota: Este código de notificação é fornecido apenas para compatibilidade com versões de 16 bits do Windows anteriores à versão 3.0. Os aplicativos devem usar o estilo de botão BS_OWNERDRAW e a estrutura DRAWITEMSTRUCT para essa tarefa.
A janela pai do botão recebe o código de notificação BN_DISABLE por meio da mensagem WM_COMMAND.
BN_DOUBLECLICKED Enviado quando o usuário clica duas vezes em um botão. Esse código de notificação é enviado automaticamente para botões BS_USERBUTTON, BS_RADIOBUTTON e BS_OWNERDRAW. Outros tipos de botão enviam BN_DOUBLECLICKED somente se tiverem o estilo BS_NOTIFY.
A janela pai do botão recebe o código de notificação BN_DOUBLECLICKED por meio da mensagem WM_COMMAND.
BN_HILITE Enviado quando o usuário seleciona um botão. Nota: Este código de notificação é fornecido apenas para compatibilidade com versões de 16 bits do Windows anteriores à versão 3.0. Os aplicativos devem usar o estilo de botão BS_OWNERDRAW e a estrutura DRAWITEMSTRUCT para essa tarefa.
A janela pai do botão recebe o código de notificação BN_HILITE por meio da mensagem WM_COMMAND.
BN_KILLFOCUS Enviado quando um botão perde o foco do teclado. O botão deve ter o estilo BS_NOTIFY para enviar esse código de notificação.
A janela pai do botão recebe o código de notificação BN_KILLFOCUS por meio da mensagem WM_COMMAND.
BN_PAINT Enviado quando um botão precisar ser pintado. Nota: Este código de notificação é fornecido apenas para compatibilidade com versões de 16 bits do Windows anteriores à versão 3.0. Os aplicativos devem usar o estilo de botão BS_OWNERDRAW e a estrutura DRAWITEMSTRUCT para essa tarefa.
A janela pai do botão recebe o código de notificação BN_PAINT por meio da mensagem WM_COMMAND.
BN_PUSHED Enviado quando o estado de push de um botão é definido como pressionado. Nota: Este código de notificação é fornecido apenas para compatibilidade com versões de 16 bits do Windows anteriores à versão 3.0. Os aplicativos devem usar o estilo de botão BS_OWNERDRAW e a estrutura DRAWITEMSTRUCT para essa tarefa.
A janela pai do botão recebe o código de notificação BN_PUSHED por meio da mensagem WM_COMMAND.
BN_SETFOCUS Enviado quando um botão recebe o foco do teclado. O botão deve ter o estilo BS_NOTIFY para enviar esse código de notificação.
A janela pai do botão recebe o código de notificação BN_SETFOCUS por meio da mensagem WM_COMMAND.
BN_UNHILITE Enviado quando o realce deve ser removido de um botão. Nota: Este código de notificação é fornecido apenas para compatibilidade com versões de 16 bits do Windows anteriores à versão 3.0. Os aplicativos devem usar o estilo de botão BS_OWNERDRAW e a estrutura DRAWITEMSTRUCT para essa tarefa.
A janela pai do botão recebe o código de notificação BN_UNHILITE por meio da mensagem WM_COMMAND.
BN_UNPUSHED Enviado quando o estado de push de um botão é definido como desfeito. Nota: Este código de notificação é fornecido apenas para compatibilidade com versões de 16 bits do Windows anteriores à versão 3.0. Os aplicativos devem usar o estilo de botão BS_OWNERDRAW e a estrutura DRAWITEMSTRUCT para essa tarefa.
A janela pai do botão recebe o código de notificação BN_UNPUSHED por meio da mensagem WM_COMMAND .
NM_CUSTOMDRAW (botão) Notifica a janela pai de um controle de botão sobre operações de desenho personalizadas no botão.
O controle button envia esse código de notificação na forma de uma mensagem WM_NOTIFY .
WM_CTLCOLORBTN A mensagem WM_CTLCOLORBTN é enviada para a janela pai de um botão antes de desenhar o botão. A janela pai pode alterar as cores do texto e do plano de fundo do botão. No entanto, apenas os botões desenhados pelo proprietário respondem à janela pai que processa essa mensagem.

Estruturas

Tópico Contents
BUTTON_IMAGELIST Contém informações sobre uma lista de imagens que é usada com um controle de botão.
BUTTON_SPLITINFO Contém informações que definem um botão de divisão (estilos BS_SPLITBUTTON e BS_DEFSPLITBUTTON). Usado com as mensagens BCM_GETSPLITINFO e BCM_SETSPLITINFO.
NMBCDROPDOWN Contém informações sobre uma notificação BCN_DROPDOWN.
NMBCHOTITEM Contém informações sobre o movimento do mouse sobre um controle de botão.

Constantes

Tópico Contents
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.