Partilhar via


Botão (Controles do Windows)

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

Visão geral

Tópico Índice
Mensagens de botão Este tópico discute 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 Índice
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 no grupo.
IsDlgButtonChecked A funçãoIsDlgButtonChecked 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 Índice
Button_Enable Ativa ou desativa 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 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 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 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 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 esta macro ou envie a mensagem BCM_GETNOTELENGTH explicitamente.
Button_GetSplitInfo Obtém informações para um controle de botão de divisão especificado. Use esta 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 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 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 para um botão especificado com estilo de BS_SPLITBUTTON. Use esta macro ou envie a mensagem BCM_SETDROPDOWNSTATE explicitamente.
Button_SetElevationRequiredState Define o estado de elevação necessário para um botão especificado ou link de comando para exibir um ícone elevado. Use esta 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 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 BCM_SETNOTE explicitamente.
Button_SetSplitInfo Define informações para um controle de botão de divisão especificado. Use esta macro ou envie a mensagem 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 BM_SETSTATE explicitamente.
Button_SetStyle Define o estilo de um botão. Você pode usar essa macro ou enviar a mensagem 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 BCM_SETTEXTMARGIN explicitamente.

Mensagens

Tópico Índice
BCM_GETIDEALSIZE Obtém o tamanho do botão que melhor se adapta ao 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 esta mensagem explicitamente ou usando a macro Button_GetNoteLength.
BCM_GETSPLITINFO Obtém informações para um controle de botão dividido. 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 esta 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 especificado ou link de comando para exibir um ícone elevado. Envie esta mensagem explicitamente ou usando a macro Button_SetElevationRequiredState.
BCM_SETSPLITINFO Define informações para um controle de botão dividido. Envie esta 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 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.

Notificações

Tópico Índice
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 de 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 através da mensagem WM_COMMAND.
BN_DBLCLK Enviado quando o usuário clica duas vezes em um botão. Este código de notificação é enviado automaticamente para BS_USERBUTTON, BS_RADIOBUTTONe BS_OWNERDRAW botões. Outros tipos de botões enviam BN_DBLCLK apenas se tiverem o estilo BS_NOTIFY.
A janela pai do botão recebe o código de notificação BN_DBLCLK através da mensagem WM_COMMAND.
BN_DISABLE Enviado quando um botão está desativado. 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 estruturaDRAWITEMSTRUCT para esta tarefa.
A janela pai do botão recebe o código de notificação BN_DISABLE através da mensagem WM_COMMAND.
BN_DOUBLECLICKED Enviado quando o usuário clica duas vezes em um botão. Este código de notificação é enviado automaticamente para BS_USERBUTTON, BS_RADIOBUTTONe BS_OWNERDRAW botões. Outros tipos de botões enviam BN_DOUBLECLICKED apenas se tiverem o estilo BS_NOTIFY.
A janela pai do botão recebe o código de notificação BN_DOUBLECLICKED através 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 estruturaDRAWITEMSTRUCT para esta tarefa.
A janela pai do botão recebe o código de notificação BN_HILITE através 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 através da mensagem WM_COMMAND.
BN_PAINT Enviado quando um botão deve 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 estruturaDRAWITEMSTRUCT para esta tarefa.
A janela pai do botão recebe o código de notificação BN_PAINT através da mensagem WM_COMMAND.
BN_PUSHED Enviado quando o estado de pressão de um botão está 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 estruturaDRAWITEMSTRUCT para esta tarefa.
A janela pai do botão recebe o código de notificação BN_PUSHED através 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 através 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 estruturaDRAWITEMSTRUCT para esta tarefa.
A janela pai do botão recebe o código de notificação BN_UNHILITE através da mensagem WM_COMMAND.
BN_UNPUSHED Enviado quando o estado de pressão de um botão está definido como despressionado. 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 estruturaDRAWITEMSTRUCT para esta tarefa.
A janela pai do botão recebe o código de notificação BN_UNPUSHED através 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 o texto e as cores de fundo do botão. No entanto, apenas os botões desenhados pelo proprietário respondem à janela pai que processa esta mensagem.

Estruturas

Tópico Índice
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 (estilosBS_SPLITBUTTON e BS_DEFSPLITBUTTON). Usado com as mensagens BCM_GETSPLITINFO e BCM_SETSPLITINFO.
NMBCDROPDOWN Contém informações sobre uma notificação de BCN_DROPDOWN.
NMBCHOTITEM Contém informações sobre o movimento do mouse sobre um controle de botão.

Constantes

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