Partilhar via


Classe CMFCButton

A classe CMFCButton adiciona funcionalidade à classe CButton, como alinhar texto do botão, combinar texto do botão e uma imagem, selecionar um cursor e especificar uma dica de ferramenta.

Sintaxe

class CMFCButton : public CButton

Membros

Construtores públicos

Nome Descrição
CMFCButton::CMFCButton Construtor padrão.
CMFCButton::~CMFCButton Destruidor.

Métodos públicos

Nome Descrição
CMFCButton::CleanUp Redefine as variáveis internas e libera os recursos alocados, como imagens, bitmaps e ícones.
CMFCButton::CreateObject Usado pela estrutura para criar uma instância dinâmica desse tipo de classe.
CMFCButton::DrawItem Chamado pela estrutura quando um aspecto visual de um botão desenhado pelo proprietário foi alterado. (Substitui CButton::DrawItem.)
CMFCButton::EnableFullTextTooltip Especifica se é necessário exibir o texto completo de uma dica de ferramenta em uma janela de dica de ferramenta grande ou uma versão truncada do texto em uma pequena janela de dica de ferramenta.
CMFCButton::EnableMenuFont Especifica se a fonte de texto do botão é igual à fonte de menu do aplicativo.
CMFCButton::EnableWindowsTheming Especifica se o estilo da borda do botão corresponde ao tema atual do Windows.
CMFCButton::GetThisClass Usado pela estrutura para obter um ponteiro para o objeto CRuntimeClass associado a esse tipo de classe.
CMFCButton::GetToolTipCtrl Retorna uma referência ao controle de dica de ferramenta subjacente.
CMFCButton::IsAutoCheck Indica se uma caixa de seleção ou botão de opção é um botão automático.
CMFCButton::IsAutorepeatCommandMode Indica se um botão está definido como modo de repetição automática.
CMFCButton::IsCheckBox Indica se um botão é um botão de caixa de seleção.
CMFCButton::IsChecked Indica se o botão atual está marcado.
CMFCButton::IsHighlighted Indica se um botão está realçado.
CMFCButton::IsPressed Indica se um botão está pressionado e realçado.
CMFCButton::IsPushed Indica se um botão está pressionado.
CMFCButton::IsRadioButton Indica se um botão é um botão de opção.
CMFCButton::IsWindowsThemingEnabled Indica se o estilo da borda do botão corresponde ao tema atual do Windows.
CMFCButton::OnDrawParentBackground Desenha a tela de fundo do pai de um botão na área especificada. (Substitui AFX_GLOBAL_DATA::DrawParentBackground
CMFCButton::PreTranslateMessage Converte mensagens de janela antes de serem expedidas para as funções TranslateMessage e DispatchMessage do Windows. (Substitui CWnd::PreTranslateMessage.)
CMFCButton::SetAutorepeatMode Define um botão como modo de repetição automática.
CMFCButton::SetCheckedImage Define a imagem de um botão marcado.
CMFCButton::SetFaceColor Define a cor da tela de fundo para o texto do botão.
CMFCButton::SetImage Define a imagem de um botão.
CMFCButton::SetMouseCursor Define a imagem do cursor.
CMFCButton::SetMouseCursorHand Define o cursor como a imagem de uma mão.
CMFCButton::SetStdImage Usa um objeto CMenuImages para definir a imagem do botão.
CMFCButton::SetTextColor Define a cor do texto do botão para um botão que não foi selecionado.
CMFCButton::SetTextHotColor Define a cor do texto do botão para um botão que foi selecionado.
CMFCButton::SetTooltip Associa uma dica de ferramenta a um botão.
CMFCButton::SizeToContent Redimensiona um botão para conter o texto e a imagem do botão.

Métodos protegidos

Nome Descrição
CMFCButton::OnDraw Chamado pela estrutura para desenhar um botão.
CMFCButton::OnDrawBorder Chamado pela estrutura para desenhar a borda de um botão.
CMFCButton::OnDrawFocusRect Chamado pela estrutura para desenhar o retângulo de foco de um botão.
CMFCButton::OnDrawText Chamado pela estrutura para desenhar o texto do botão.
CMFCButton::OnFillBackground Chamado pela estrutura para desenhar o texto do botão.
CMFCButton::SelectFont Recupera a fonte associada ao contexto do dispositivo especificado.

Membros de dados

Nome Descrição
CMFCButton::m_nAlignStyle Especifica o alinhamento do texto do botão.
CMFCButton::m_bDontUseWinXPTheme Especifica se os temas do Windows XP devem ser usados.
CMFCButton::m_bDrawFocus Indica se um retângulo de foco deve ser desenhado ao redor de um botão.
CMFCButton::m_nFlatStyle Especifica o estilo do botão, por exemplo, sem bordas, plano, semiplano ou 3D.
CMFCButton::m_bGrayDisabled Quando TRUE, permite que um botão desabilitado seja desenhado como esmaecido.
CMFCButton::m_bHighlightChecked Indica se um botão de estilo BS_CHECKBOX deve ser realçado, quando o cursor passar sobre ele.
CMFCButton::m_bResponseOnButtonDown Indica se deve responder a eventos de botão pressionado.
CMFCButton::m_bRightImage Indica se deve exibir uma imagem no lado direito do botão.
CMFCButton::m_bTopImage Indica se a imagem está na parte superior do botão.
CMFCButton::m_bTransparent Indica se o botão é transparente.
CMFCButton::m_bWasDblClk Indica se o último evento de clique foi um duplo clique.

Comentários

Outros tipos de botões são derivados da classe CMFCButton, como a classe CMFCURLLinkButton, que dá suporte a hiperlinks, e a classe CMFCColorButton, que dá suporte a uma caixa de diálogo do seletor de cores.

O estilo de um objeto CMFCButton pode ser 3D, flat, semi-flat ou no border. O texto do botão pode ser alinhado à esquerda, à parte superior ou ao centro de um botão. Em tempo de execução, você pode controlar se o botão exibe o texto, uma imagem ou o texto e uma imagem. Você também pode especificar se uma imagem de cursor específica será exibida quando o cursor passar sobre um botão.

Crie um controle de botão diretamente no código ou usando a ferramenta Assistente de Classe do MFC e um modelo de caixa de diálogo. Se você criar um controle de botão diretamente, adicione uma variável CMFCButton ao aplicativo e chame o construtor e os métodos Create do objeto CMFCButton. Se você usar o Assistente de Classe do MFC, adicione uma variável CButton ao aplicativo e altere o tipo da variável de CButton para CMFCButton.

Para lidar com mensagens de notificação em um aplicativo de caixa de diálogo, adicione uma entrada de mapa de mensagens e um manipulador de eventos para cada notificação. As notificações enviadas por um objeto CMFCButton são as mesmas enviadas por um objeto CButton.

Exemplo

O exemplo a seguir demonstra como configurar as propriedades do botão usando vários métodos na classe CMFCButton. Este exemplo é parte do Exemplo de novos controles.

CMFCButton m_Button;
// int m_iImage
// IDB_BTN1_32, IDB_BTN1_HOT_32, IDB_BTN1, IDB_BTN1_HOT are int macros that are #define.
if (m_iImage == 1)
{
   m_Button.SetImage((HBITMAP)NULL);
}
else
{
   m_Button.SetImage(IDB_BTN1_32, IDB_BTN1_HOT_32);
}
// int m_iImage
if (m_iImage == 0)
{
   m_Button.SetWindowText(_T(""));
}
else
{
   m_Button.SetWindowText(_T("Button"));
}
// Resize the button.
m_Button.SizeToContent();
m_Button.EnableFullTextTooltip(true);
// Use the application menu font at the button text font.
m_Button.EnableMenuFont();
// Use the current Windows theme to draw the button borders.
m_Button.EnableWindowsTheming(true);
// Set the button to auto-repeat mode.
m_Button.SetAutorepeatMode();
// Set the background color for the button text.
m_Button.SetFaceColor(RGB(255,0,0),true);
m_Button.SetTextColor(RGB(0,0,255));
// Set the tooltip of the button.
m_Button.SetTooltip(_T("this is a button!"));

Hierarquia de herança

CObject

CCmdTarget

CWnd

CButton

CMFCButton

Requisitos

Cabeçalho: afxbutton.h

CMFCButton::CleanUp

Redefine as variáveis internas e libera os recursos alocados, como imagens, bitmaps e ícones.

virtual void CleanUp();

CMFCButton::EnableFullTextTooltip

Especifica se é necessário exibir o texto completo de uma dica de ferramenta em uma janela de dica de ferramenta grande ou uma versão truncada do texto em uma pequena janela de dica de ferramenta.

void EnableFullTextTooltip(BOOL bOn=TRUE);

Parâmetros

bOn
[in] TRUE para exibir todo o texto. FALSE para exibir o texto truncado.

Comentários

CMFCButton::EnableMenuFont

Especifica se a fonte de texto do botão é igual à fonte de menu do aplicativo.

void EnableMenuFont(
    BOOL bOn=TRUE,
    BOOL bRedraw=TRUE);

Parâmetros

bOn
[in] TRUE para usar a fonte do menu do aplicativo como a fonte de texto do botão. FALSE para usar a fonte do sistema. O padrão é TRUE.

bRedraw
[in] TRUE para redesenhar a tela imediatamente. Caso contrário, FALSE. O padrão é TRUE.

Comentários

Se você não usar esse método para especificar a fonte de texto do botão, poderá especificar a fonte com o método CWnd::SetFont. Se você não especificar uma fonte, a estrutura definirá uma fonte padrão.

CMFCButton::EnableWindowsTheming

Especifica se o estilo da borda do botão corresponde ao tema atual do Windows.

static void EnableWindowsTheming(BOOL bEnable = TRUE);

Parâmetros

bEnable
[in] TRUE para usar o tema atual do Windows para desenhar as bordas do botão. FALSE para não usar o tema do Windows. O padrão é TRUE.

Comentários

Esse método afeta todos os botões no aplicativo que são derivados da classe CMFCButton.

CMFCButton::GetToolTipCtrl

Retorna uma referência ao controle de dica de ferramenta subjacente.

CToolTipCtrl& GetToolTipCtrl();

Valor de retorno

Uma referência ao controle de dica de ferramenta subjacente.

Comentários

CMFCButton::IsAutoCheck

Indica se uma caixa de seleção ou botão de opção é um botão automático.

BOOL IsAutoCheck() const;

Valor de retorno

TRUE se o botão tiver o estilo BS_AUTOCHECKBOX ou BS_AUTORADIOBUTTON. Caso contrário, FALSE.

Comentários

CMFCButton::IsAutorepeatCommandMode

Indica se um botão está definido como modo de repetição automática.

BOOL IsAutorepeatCommandMode() const;

Valor de retorno

TRUE se o botão estiver definido como modo de repetição automática. Caso contrário, FALSE.

Comentários

Use o método CMFCButton::SetAutorepeatMode para definir um botão como modo de repetição automática.

CMFCButton::IsCheckBox

Indica se um botão é um botão de caixa de seleção.

BOOL IsCheckBox() const;

Valor de retorno

TRUE se o botão tiver um estilo BS_CHECKBOX ou BS_AUTOCHECKBOX. Caso contrário, FALSE.

Comentários

CMFCButton::IsChecked

Indica se o botão atual está marcado.

BOOL IsChecked() const;

Valor de retorno

TRUE se o botão estiver marcado. Caso contrário, FALSE.

Comentários

A estrutura usa diferentes maneiras para indicar que diferentes tipos de botões estão marcados. Por exemplo, um botão de opção é marcado quando contém um ponto. Uma caixa de seleção é marcada quando contém um X.

CMFCButton::IsHighlighted

Indica se um botão está realçado.

BOOL IsHighlighted() const;

Valor de retorno

TRUE se o botão estiver realçado. Caso contrário, FALSE.

Comentários

Um botão é realçado quando o mouse passa sobre o botão.

CMFCButton::IsPressed

Indica se um botão está pressionado e realçado.

BOOL IsPressed() const;

Valor de retorno

TRUE se o botão estiver pressionado. Caso contrário, FALSE.

Comentários

CMFCButton::IsPushed

Indica se um botão está pressionado.

BOOL IsPushed() const;

Valor de retorno

TRUE se o botão estiver pressionado. Caso contrário, FALSE.

Comentários

CMFCButton::IsRadioButton

Indica se um botão é um botão de opção.

BOOL IsRadioButton() const;

Valor de retorno

TRUE se o estilo do botão for BS_RADIOBUTTON ou BS_AUTORADIOBUTTON. Caso contrário, FALSE.

Comentários

CMFCButton::IsWindowsThemingEnabled

Indica se o estilo da borda do botão corresponde ao tema atual do Windows.

static BOOL IsWindowsThemingEnabled();

Valor de retorno

TRUE se o estilo da borda do botão corresponder ao tema atual do Windows. Caso contrário, FALSE.

CMFCButton::m_bDontUseWinXPTheme

Especifica se os temas do Windows XP devem ser usados ao desenhar o botão.

BOOL m_bDontUseWinXPTheme;

CMFCButton::m_bDrawFocus

Indica se um retângulo de foco deve ser desenhado ao redor de um botão.

BOOL m_bDrawFocus;

Comentários

Defina o membro m_bDrawFocus como TRUE para especificar que a estrutura desenhará um retângulo de foco ao redor do texto e da imagem do botão, se o botão receber o foco.

O construtor CMFCButton inicializa esse membro para o TRUE.

CMFCButton::m_bGrayDisabled

Quando TRUE, permite que um botão desabilitado seja desenhado como esmaecido.

BOOL m_bGrayDisabled;

CMFCButton::m_bHighlightChecked

Indica se um botão de estilo BS_CHECKBOX deve ser realçado, quando o cursor passar sobre ele.

BOOL m_bHighlightChecked;

Comentários

Defina o membro m_bHighlightChecked como TRUE para especificar que a estrutura realçará um botão de estilo BS_CHECKBOX, quando o mouse passar sobre ele.

CMFCButton::m_bResponseOnButtonDown

Indica se deve responder a eventos de botão pressionado.

BOOL m_bResponseOnButtonDown;

CMFCButton::m_bRightImage

Indica se deve exibir uma imagem no lado direito do botão.

BOOL m_bRightImage;

CMFCButton::m_bTopImage](#m_bTopImage)

Indica se a imagem está na parte superior do botão.

BOOL m_bTopImage;

Comentários

Defina o membro m_bRightImage como TRUE para especificar que a estrutura exibirá a imagem do botão à direita do rótulo de texto do botão.

CMFCButton::m_bTransparent

Indica se o botão é transparente.

BOOL m_bTransparent;

Comentários

Defina o membro m_bTransparent como TRUE para especificar que a estrutura tornará o botão transparente. O construtor CMFCButton inicializa esse membro para o FALSE.

CMFCButton::m_nAlignStyle

Especifica o alinhamento do texto do botão.

AlignStyle m_nAlignStyle;

Comentários

Use um dos valores de enumeração CMFCButton::AlignStyle a seguir para especificar o alinhamento do texto do botão:

Valor Descrição
ALIGN_CENTER (Padrão) Alinha o texto do botão ao centro do botão.
ALIGN_LEFT Alinha o texto do botão ao lado esquerdo do botão.
ALIGN_RIGHT Alinha o texto do botão ao lado direito do botão.

O construtor CMFCButton inicializa esse membro para o ALIGN_CENTER.

CMFCButton::m_bWasDblClk](#m_bWasDblClk)|

Indica se o último evento de clique foi um duplo clique.|

BOOL m_bWasDblClk;

CMFCButton::m_nFlatStyle

Especifica o estilo do botão, por exemplo, sem bordas, plano, semiplano ou 3D.

FlatStyle  m_nFlatStyle;

Comentários

A tabela a seguir lista os valores de enumeração CMFCButton::m_nFlatStyle que especificam a aparência de um botão.

Valor Descrição
BUTTONSTYLE_3D (Padrão) Parece que o botão tem lados tridimensionais altos. Ao clicar no botão, parece que ele foi pressionado em um recuo profundo.
BUTTONSTYLE_FLAT Quando o mouse não pausa sobre o botão, parece que o botão é bidimensional e não tem lados elevados. Quando o mouse pausa sobre o botão, parece que o botão tem lados tridimensionais baixos. Ao clicar no botão, parece que ele foi pressionado em um recuo raso.
BUTTONSTYLE_SEMIFLAT Parece que o botão tem lados tridimensionais baixos. Ao clicar no botão, parece que ele foi pressionado em um recuo profundo.
BUTTONSTYLE_NOBORDERS O botão não tem lados elevados e parece que é sempre bidimensional. Não parece que o botão foi pressionado em um recuo, quando clicado.

O construtor CMFCButton inicializa esse membro para o BUTTONSTYLE_3D.

Exemplo

O exemplo a seguir demonstra como definir os valores das variáveis de membro m_nFlatStyle na classe CMFCButton. Este exemplo faz parte da amostra de Novos Controles.

CMFCButton m_Button;
//int m_iBorderStyle
switch (m_iBorderStyle)
{
case 0:
   m_Button.m_nFlatStyle = CMFCButton::BUTTONSTYLE_FLAT;
   break;

case 1:
   m_Button.m_nFlatStyle = CMFCButton::BUTTONSTYLE_SEMIFLAT;
   break;

case 2:
   m_Button.m_nFlatStyle = CMFCButton::BUTTONSTYLE_3D;
}

CMFCButton::OnDraw

Chamado pela estrutura para desenhar um botão.

virtual void OnDraw(
    CDC* pDC,
    const CRect& rect,
    UINT uiState);

Parâmetros

pDC
[in] Um ponteiro para um contexto de dispositivo.

rect
[in] Uma referência a um retângulo que vincula o botão.

uiState
[in] O estado do botão atual. Para obter mais informações, confira o membro itemState do tópico DRAWITEMSTRUCTEstrutura.

Comentários

Substitua esse método para usar seu próprio código para desenhar um botão.

CMFCButton::OnDrawBorder

Chamado pela estrutura para desenhar a borda de um botão.

virtual void OnDrawBorder(
    CDC* pDC,
    CRect& rectClient,
    UINT uiState);

Parâmetros

pDC
[in] Um ponteiro para um contexto de dispositivo.

rectClient
[in] Uma referência a um retângulo que vincula o botão.

uiState
[in] O estado do botão atual. Para obter mais informações, confira o membro itemState do tópico DRAWITEMSTRUCTEstrutura.

Comentários

Substitua esse método para usar seu próprio código para desenhar a borda.

CMFCButton::OnDrawFocusRect

Chamado pela estrutura para desenhar o retângulo de foco de um botão.

virtual void OnDrawFocusRect(
    CDC* pDC,
    const CRect& rectClient);

Parâmetros

pDC
[in] Um ponteiro para um contexto de dispositivo.

rectClient
[in] Uma referência a um retângulo que vincula o botão.

Comentários

Substitua esse método para usar seu próprio código para desenhar o retângulo de foco.

CMFCButton::OnDrawText

Chamado pela estrutura para desenhar o texto do botão.

virtual void OnDrawText(
    CDC* pDC,
    const CRect& rect,
    const CString& strText,
    UINT uiDTFlags,
    UINT uiState);

Parâmetros

pDC
[in] Um ponteiro para um contexto de dispositivo.

rect
[in] Uma referência a um retângulo que vincula o botão.

strText
[in] O texto a ser desenhado.

uiDTFlags
[in] Sinalizadores que especificam como formatar o texto. Para obter mais informações, consulte o parâmetro nFormat do método CDC::DrawText.

uiState
[in] Reservado.

Comentários

Substitua esse método para usar seu próprio código para desenhar o texto do botão.

CMFCButton::OnFillBackground

Chamado pela estrutura para desenhar o texto do botão.

virtual void OnFillBackground(
    CDC* pDC,
    const CRect& rectClient);

Parâmetros

pDC
[in] Um ponteiro para um contexto de dispositivo.

rectClient
[in] Uma referência a um retângulo que vincula o botão.

Comentários

Substitua esse método para usar seu próprio código para desenhar a tela de fundo de um botão.

CMFCButton::SelectFont

Recupera a fonte associada ao contexto do dispositivo especificado.

virtual CFont* SelectFont(CDC* pDC);

Parâmetros

pDC
[in] Um ponteiro para um contexto de dispositivo.

Valor de retorno

Substitua esse método para usar seu próprio código para recuperar a fonte.

Comentários

CMFCButton::SetAutorepeatMode

Define um botão como modo de repetição automática.

void SetAutorepeatMode(int nTimeDelay=500);

Parâmetros

nTimeDelay
[in] Um número não negativo que especifica o intervalo entre as mensagens enviadas para a janela pai. O intervalo é medido em milissegundos e o valor padrão é 500 milissegundos. Especifique zero para desabilitar o modo de mensagem de repetição automática.

Comentários

Esse método faz com que o botão envie WM_COMMAND mensagens constantemente para a janela pai, até que o botão seja liberado ou que o parâmetro nTimeDelay seja definido como zero.

CMFCButton::SetCheckedImage

Define a imagem de um botão marcado.

void SetCheckedImage(
    HICON hIcon,
    BOOL bAutoDestroy=TRUE,
    HICON hIconHot=NULL,
    HICON hIconDisabled=NULL,
    BOOL bAlphaBlend=FALSE);

void SetCheckedImage(
    HBITMAP hBitmap,
    BOOL bAutoDestroy=TRUE,
    HBITMAP hBitmapHot=NULL,
    BOOL bMap3dColors=TRUE,
    HBITMAP hBitmapDisabled=NULL);

void SetCheckedImage(
    UINT uiBmpResId,
    UINT uiBmpHotResId=0,
    UINT uiBmpDsblResID=0);

Parâmetros

hIcon
[in] Identificador do ícone que contém o bitmap e a máscara para a nova imagem.

bAutoDestroy
[in] TRUE para especificar que os recursos de bitmap sejam destruídos automaticamente. Caso contrário, FALSE. O padrão é TRUE.

hIconHot
[in] Identificador para o ícone que contém a imagem do estado selecionado.

hBitmap
[in] Identificador para o bitmap que contém a imagem do estado não selecionado.

hBitmapHot
[in] Identificador para o bitmap que contém a imagem do estado selecionado.

bMap3dColors
[in] Especifica uma cor transparente para a tela de fundo do botão, ou seja, o rosto do botão. TRUE para usar o valor de cor RGB(192, 192, 192). FALSE para usar o valor de cor definido por AFX_GLOBAL_DATA::clrBtnFace.

uiBmpResId
[in] ID do recurso para a imagem não selecionada.

uiBmpHotResId
[in] ID do recurso para a imagem selecionada.

hIconDisabled
[in] Identificador para o ícone da imagem desabilitada.

hBitmapDisabled
[in] Identificador para o bitmap que contém a imagem desabilitada.

uiBmpDsblResID
[in] ID do recurso do bitmap desabilitado.

bAlphaBlend
[in] TRUE para usar apenas imagens de 32 bits que usam o canal alfa. FALSE para não usar apenas imagens do canal alfa. O padrão é FALSE.

Comentários

CMFCButton::SetFaceColor

Define a cor da tela de fundo para o texto do botão.

void SetFaceColor(
    COLORREF crFace,
    BOOL bRedraw=TRUE);

Parâmetros

crFace
[in] Um valor de cor RGB.

bRedraw
[in] TRUE para redesenhar a tela imediatamente. Caso contrário, FALSE.

Comentários

Use esse método para definir uma nova cor de preenchimento para a tela de fundo do botão (rosto). Observe que a tela de fundo não é preenchida quando a variável de membro CMFCButton::m_bTransparent é TRUE.

CMFCButton::SetImage

Define a imagem de um botão.

void SetImage(
    HICON hIcon,
    BOOL bAutoDestroy=TRUE,
    HICON hIconHot=NULL,
    HICON hIconDisabled=NULL,
    BOOL bAlphaBlend=FALSE);

void SetImage(
    HBITMAP hBitmap,
    BOOL bAutoDestroy=TRUE,
    HBITMAP hBitmapHot=NULL,
    BOOL bMap3dColors=TRUE,
    HBITMAP hBitmapDisabled=NULL);

void SetImage(
    UINT uiBmpResId,
    UINT uiBmpHotResId=0,
    UINT uiBmpDsblResID=0);

Parâmetros

hIcon
[in] Identificador do ícone que contém o bitmap e a máscara para a nova imagem.

bAutoDestroy
[in] TRUE para especificar que os recursos de bitmap sejam destruídos automaticamente. Caso contrário, FALSE. O padrão é TRUE.

hIconHot
[in] Identificador para o ícone que contém a imagem do estado selecionado.

hBitmap
[in] Identificador para o bitmap que contém a imagem do estado não selecionado.

hBitmapHot
[in] Identificador para o bitmap que contém a imagem do estado selecionado.

uiBmpResId
[in] ID do recurso para a imagem não selecionada.

uiBmpHotResId
[in] ID do recurso para a imagem selecionada.

bMap3dColors
[in] Especifica uma cor transparente para a tela de fundo do botão, ou seja, o rosto do botão. TRUE para usar o valor de cor RGB(192, 192, 192). FALSE para usar o valor de cor definido por AFX_GLOBAL_DATA::clrBtnFace.

hIconDisabled
[in] Identificador para o ícone da imagem desabilitada.

hBitmapDisabled
[in] Identificador para o bitmap que contém a imagem desabilitada.

uiBmpDsblResID
[in] ID do recurso do bitmap desabilitado.

bAlphaBlend
[in] TRUE para usar apenas imagens de 32 bits que usam o canal alfa. FALSE para não usar apenas imagens do canal alfa. O padrão é FALSE.

Comentários

Exemplo

O exemplo a seguir demonstra como usar várias versões do método SetImage na classe CMFCButton. Este exemplo é parte do Exemplo de novos controles.

CMFCButton m_Button;
// int m_iImage
// IDB_BTN1_32, IDB_BTN1_HOT_32, IDB_BTN1, IDB_BTN1_HOT are int macros that are #define.
if (m_iImage == 1)
{
   m_Button.SetImage((HBITMAP)NULL);
}
else
{
   m_Button.SetImage(IDB_BTN1_32, IDB_BTN1_HOT_32);
}

CMFCButton::SetMouseCursor

Define a imagem do cursor.

void SetMouseCursor(HCURSOR hcursor);

Parâmetros

hcursor
[in] O identificador de um cursor.

Comentários

Use esse método para associar uma imagem de cursor, como o cursor de mão, ao botão. O cursor é carregado a partir dos recursos do aplicativo.

Exemplo

O seguinte exemplo demonstra como usar o método SetMouseCursor na classe CMFCButton. O exemplo faz parte do código na amostra de Novos Controles.

CMFCButton m_Button;
// int m_iCursor
void CPage1::OnSetCursor()
{
   UpdateData();

   switch (m_iCursor)
   {
   case 0:
      m_Button.SetMouseCursor(NULL);
      break;

   case 1:
      m_Button.SetMouseCursorHand();
      break;

   case 2:
      m_Button.SetMouseCursor(AfxGetApp()->LoadCursor(IDC_CURSOR));
      break;
   }
}

CMFCButton::SetMouseCursorHand

Define o cursor como a imagem de uma mão.

void SetMouseCursorHand();

Comentários

Use esse método para associar a imagem do cursor de uma mão ao botão. O cursor é carregado a partir dos recursos do aplicativo.

CMFCButton::SetStdImage

Usa um objeto CMenuImages para definir a imagem do botão.

void SetStdImage(
    CMenuImages::IMAGES_IDS id,
    CMenuImages::IMAGE_STATE state=CMenuImages::ImageBlack,
    CMenuImages::IMAGES_IDS idDisabled=(CMenuImages::IMAGES_IDS)0);

Parâmetros

id
[in] Um dos identificadores de imagem do botão definidos na enumeração CMenuImage::IMAGES_IDS. Os valores de imagem especificam imagens como setas, pinos e botões de opção.

state
[in] Um dos identificadores de estado de imagem do botão definidos na enumeração CMenuImages::IMAGE_STATE. Os estados de imagem especificam as cores de botão como preto, cinza, cinza claro, branco e cinza escuro. O valor padrão é CMenuImages::ImageBlack.

idDisabled
[in] Um dos identificadores de imagem do botão definidos na enumeração CMenuImage::IMAGES_IDS. A imagem indica que o botão está desabilitado. O valor padrão é a primeira imagem de botão (CMenuImages::IdArrowDown).

Comentários

CMFCButton::SetTextColor

Define a cor do texto do botão para um botão que não foi selecionado.

void SetTextColor(COLORREF clrText);

Parâmetros

clrText
[in] Um valor de cor RGB.

Comentários

CMFCButton::SetTextHotColor

Define a cor do texto do botão para um botão que foi selecionado.

void SetTextHotColor(COLORREF clrTextHot);

Parâmetros

clrTextHot
[in] Um valor de cor RGB.

Comentários

CMFCButton::SetTooltip

Associa uma dica de ferramenta a um botão.

void SetTooltip(LPCTSTR lpszToolTipText);

Parâmetros

lpszToolTipText
[in] Ponteiro para o texto da dica de ferramenta. Especifique NULL para desabilitar a dica de ferramenta.

Comentários

CMFCButton::SizeToContent

Redimensiona um botão para conter o texto e a imagem do botão.

virtual CSize SizeToContent(BOOL bCalcOnly=FALSE);

Parâmetros

bCalcOnly
[in] TRUE para calcular, mas não alterar o novo tamanho do botão. FALSE para alterar o tamanho do botão. O padrão é FALSE.

Valor de retorno

Um objeto CSize que contém o novo tamanho do botão.

Comentários

Por padrão, esse método calcula um novo tamanho que inclui uma margem horizontal de 10 pixels e uma margem vertical de 5 pixels.

Confira também

Gráfico da hierarquia
Classes
Classe CMFCLinkCtrl
Classe CMFCColorButton
Classe CMFCMenuButton