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
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 DRAWITEMSTRUCT
Estrutura.
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 DRAWITEMSTRUCT
Estrutura.
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