CMFCButton 类

注释

Microsoft基础类(MFC)库将继续受到支持。 但是,我们不再添加功能或更新文档。

CMFCButton 类向 CButton 类添加功能,例如对齐按钮文本、组合按钮文本和图像、选择光标以及指定工具提示。

语法

class CMFCButton : public CButton

成员

公共构造函数

名称 描述
CMFCButton::CMFCButton 默认构造函数。
CMFCButton::~CMFCButton 析构函数。

公共方法

名称 描述
CMFCButton::CleanUp 重置内部变量并释放分配的资源,如图像、位图和图标。
CMFCButton::CreateObject 由框架用于创建此类类型的动态实例。
CMFCButton::DrawItem 当所有者绘制的按钮的视觉外观发生变化时由框架调用。 (替代 CButton::DrawItem。)
CMFCButton::EnableFullTextTooltip 指定是在大工具提示窗口中显示工具提示的完整文本,还是在小工具提示窗口中显示文本的截断版本。
CMFCButton::EnableMenuFont 指定按钮文本字体是否与应用程序菜单字体相同。
CMFCButton::EnableWindowsTheming 指定按钮边框的样式是否与当前 Windows 主题相对应。
CMFCButton::GetThisClass 由框架用于获取指向与此类类型关联的 CRuntimeClass 对象的指针。
CMFCButton::GetToolTipCtrl 返回对基础工具提示控件的引用。
CMFCButton::IsAutoCheck 指示复选框或单选按钮是否为自动按钮。
CMFCButton::IsAutorepeatCommandMode 指示按钮是否设置为自动重复模式。
CMFCButton::IsCheckBox 指示按钮是否为复选框按钮。
CMFCButton::IsChecked 指示当前按钮是否已选中。
CMFCButton::IsHighlighted 指示按钮是否已突出显示。
CMFCButton::IsPressed 指示按钮是否已按下并突出显示。
CMFCButton::IsPushed 指示按钮是否已按下。
CMFCButton::IsRadioButton 指示按钮是否为单选按钮。
CMFCButton::IsWindowsThemingEnabled 指示按钮边框的样式是否与当前 Windows 主题相对应。
CMFCButton::OnDrawParentBackground 在指定区域中绘制按钮的父级的背景。 (替代 AFX_GLOBAL_DATA::DrawParentBackground。)
CMFCButton::PreTranslateMessage 在窗口消息调度到 TranslateMessage 和 DispatchMessage Windows 函数之前对其进行转换。 (替代 CWnd::PreTranslateMessage。)
CMFCButton::SetAutorepeatMode 将按钮设置为自动重复模式。
CMFCButton::SetCheckedImage 设置选中的按钮的图像。
CMFCButton::SetFaceColor 设置按钮文本的背景色。
CMFCButton::SetImage 设置按钮的图像。
CMFCButton::SetMouseCursor 设置光标图像。
CMFCButton::SetMouseCursorHand 将光标设置为手形图像。
CMFCButton::SetStdImage 使用 CMenuImages 对象设置按钮图像。
CMFCButton::SetTextColor 设置未选中的按钮的按钮文本的颜色。
CMFCButton::SetTextHotColor 设置选中的按钮的按钮文本的颜色。
CMFCButton::SetTooltip 将工具提示与按钮相关联。
CMFCButton::SizeToContent 调整按钮的大小以包含按钮文本和图像。

受保护方法

名称 描述
CMFCButton::OnDraw 由框架调用以绘制按钮。
CMFCButton::OnDrawBorder 由框架调用以绘制按钮的边框。
CMFCButton::OnDrawFocusRect 由框架调用以绘制按钮的聚焦框。
CMFCButton::OnDrawText 由框架调用以绘制按钮文本。
CMFCButton::OnFillBackground 由框架调用以绘制按钮文本的背景。
CMFCButton::SelectFont 检索与指定设备上下文关联的字体。

数据成员

名称 描述
CMFCButton::m_nAlignStyle 指定按钮文本的对齐方式。
CMFCButton::m_bDontUseWinXPTheme 指定是否使用 Windows XP 主题。
CMFCButton::m_bDrawFocus 指示是否围绕按钮绘制聚焦框。
CMFCButton::m_nFlatStyle 指定按钮的样式,如无边框、平面、半平面或 3D。
CMFCButton::m_bGrayDisabled 如果为 TRUE,则使禁用的按钮绘制为灰显。
CMFCButton::m_bHighlightChecked 指示当光标悬停在 BS_CHECKBOX 样式按钮上时是否突出显示该按钮。
CMFCButton::m_bResponseOnButtonDown 指示是否响应按钮按下事件。
CMFCButton::m_bRightImage 指示是否在按钮右侧显示图像。
CMFCButton::m_bTopImage 指示图像是否位于按钮顶部。
CMFCButton::m_bTransparent 指示按钮是否透明。
CMFCButton::m_bWasDblClk 指示上次点击事件是否为双击事件。

注解

其他类型的按钮派生自 CMFCButton 类,如支持超链接的 CMFCURLLinkButton 类,以及支持颜色选取器对话框的 CMFCColorButton 类。

CMFCButton 对象的样式可以是 3D、flat、semi-flat 或 no border。 按钮文本可以在按钮的左侧、顶部或中心对齐。 在运行时,可控制按钮是显示文本、图像还是文本和图像。 还可指定当光标悬停在按钮上时显示特定的光标图像。

直接在代码中创建按钮控件,或使用“MFC 类向导”工具和对话框模板创建。 如果直接创建按钮控件,请将 CMFCButton 变量添加到应用程序,然后调用 Create 对象的构造函数和 CMFCButton 方法。 如果使用“MFC 类向导”,请将 变量添加到应用程序,然后将变量的类型从 CButton 更改为 CButtonCMFCButton。

要处理对话框应用程序中的通知消息,请为每个通知添加消息映射条目和事件处理程序。 CMFCButton 对象发送的通知与 CButton 对象发送的通知相同。

示例

以下示例演示如何使用 CMFCButton 类中的各种方法配置按钮的属性。 本示例是新控件示例的一部分。

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!"));

继承层次结构

CObject

CCmdTarget

CWnd

CButton

CMFCButton

要求

标头:afxbutton.h

CMFCButton::CleanUp

重置内部变量并释放分配的资源,如图像、位图和图标。

virtual void CleanUp();

CMFCButton::EnableFullTextTooltip

指定是在大工具提示窗口中显示工具提示的完整文本,还是在小工具提示窗口中显示文本的截断版本。

void EnableFullTextTooltip(BOOL bOn=TRUE);

参数

bOn
[in] 如果为 TRUE,则显示所有文本;如果为 FALSE,则显示截断的文本。

CMFCButton::EnableMenuFont

指定按钮文本字体是否与应用程序菜单字体相同。

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

参数

bOn
[in] 如果为 TRUE,则使用应用程序菜单字体作为按钮文本字体;如果为 FALSE,则使用系统字体。 默认为 TRUE。

bRedraw
[in] 如果为 TRUE,则立即重绘屏;否则为 FALSE。 默认为 TRUE。

注解

如果不使用此方法指定按钮文本字体,可使用 CWnd::SetFont 方法指定字体。 如果未指定字体,框架将设置默认字体。

CMFCButton::EnableWindowsTheming

指定按钮边框的样式是否与当前 Windows 主题相对应。

static void EnableWindowsTheming(BOOL bEnable = TRUE);

参数

bEnable
[in] 如果为 TRUE,则使用当前 Windows 主题绘制按钮边框;如果为 FALSE,则不使用 Windows 主题。 默认为 TRUE。

注解

此方法会影响应用程序中从 CMFCButton 类派生的所有按钮。

CMFCButton::GetToolTipCtrl

返回对基础工具提示控件的引用。

CToolTipCtrl& GetToolTipCtrl();

返回值

对基础工具提示控件的引用。

CMFCButton::IsAutoCheck

指示复选框或单选按钮是否为自动按钮。

BOOL IsAutoCheck() const;

返回值

如果按钮为 TRUE 或 BS_AUTOCHECKBOX 样式,则为 BS_AUTORADIOBUTTON;否则为 FALSE。

CMFCButton::IsAutorepeatCommandMode

指示按钮是否设置为自动重复模式。

BOOL IsAutorepeatCommandMode() const;

返回值

如果按钮设置为自动重复模式,则为 TRUE;否则为 FALSE.

注解

使用 CMFCButton::SetAutorepeatMode 方法将按钮设置为自动重复模式。

CMFCButton::IsCheckBox

指示按钮是否为复选框按钮。

BOOL IsCheckBox() const;

返回值

如果按钮为 TRUE 或 BS_CHECKBOX 样式,则为 BS_AUTOCHECKBOX;否则为 FALSE。

CMFCButton::IsChecked

指示当前按钮是否已选中。

BOOL IsChecked() const;

返回值

如果当前按钮已选中,则为 TRUE;否则为 FALSE。

注解

该框架使用不同的方法来指示选中了不同类型的按钮。 例如,如果包含一个点,则表示选中了单选按钮;如果包含一个 X,则表示选中了复选框。

CMFCButton::IsHighlighted

指示按钮是否已突出显示。

BOOL IsHighlighted() const;

返回值

如果按钮突出显示,则为 TRUE;否则为 FALSE。

注解

当鼠标悬停在按钮上时,该按钮将突出显示。

CMFCButton::IsPressed

指示按钮是否已按下并突出显示。

BOOL IsPressed() const;

返回值

如果按下了按钮,则为 TRUE;否则为 FALSE。

CMFCButton::IsPushed

指示按钮是否已按下。

BOOL IsPushed() const;

返回值

如果按下了按钮,则为 TRUE;否则为 FALSE。

CMFCButton::IsRadioButton

指示按钮是否为单选按钮。

BOOL IsRadioButton() const;

返回值

如果按钮样式为 TRUE 或 BS_RADIOBUTTON,则为 BS_AUTORADIOBUTTON;否则为 FALSE。

CMFCButton::IsWindowsThemingEnabled

指示按钮边框的样式是否与当前 Windows 主题相对应。

static BOOL IsWindowsThemingEnabled();

返回值

如果按钮边框的样式与当前 Windows 主题相对应,则为 TRUE;否则为 FALSE。

CMFCButton::m_bDontUseWinXPTheme

指定在绘制按钮时是否使用 Windows XP 主题。

BOOL m_bDontUseWinXPTheme;

CMFCButton::m_bDrawFocus

指示是否围绕按钮绘制聚焦框。

BOOL m_bDrawFocus;

注解

将 m_bDrawFocus 成员设置为 TRUE 可指定框架将围绕按钮的文本和图像绘制聚焦框(如果按钮接收聚焦)。

CMFCButton 构造函数将此成员初始化为 TRUE。

CMFCButton::m_bGrayDisabled

如果为 TRUE,则使禁用的按钮绘制为灰显。

BOOL m_bGrayDisabled;

CMFCButton::m_bHighlightChecked

指示当光标悬停在 BS_CHECKBOX 样式按钮上时是否突出显示该按钮。

BOOL m_bHighlightChecked;

注解

将 m_bHighlightChecked 成员设置为 TRUE 可指定当鼠标悬停在 BS_CHECKBOX 样式按钮上方时,框架将突出显示该按钮。

CMFCButton::m_bResponseOnButtonDown

指示是否响应按钮按下事件。

BOOL m_bResponseOnButtonDown;

CMFCButton::m_bRightImage

指示是否在按钮右侧显示图像。

BOOL m_bRightImage;

CMFCButton::m_bTopImage

指示图像是否位于按钮顶部。

BOOL m_bTopImage;

注解

将 m_bRightImage 成员设置为 TRUE 可指定框架将在按钮的文本标签右侧显示按钮的图像。

CMFCButton::m_bTransparent

指示按钮是否透明。

BOOL m_bTransparent;

注解

将 m_bTransparent 成员设置为 TRUE 可指定框架将使按钮透明。 CMFCButton 构造函数将此成员初始化为 FALSE。

CMFCButton::m_nAlignStyle

指定按钮文本的对齐方式。

AlignStyle m_nAlignStyle;

注解

使用以下其中一个 CMFCButton::AlignStyle 枚举值指定按钮文本的对齐方式:

值 描述
ALIGN_CENTER (默认)使按钮文本与按钮的中心对齐。
ALIGN_LEFT 使按钮文本与按钮左侧对齐。
ALIGN_RIGHT 使按钮文本与按钮右侧对齐。

CMFCButton 构造函数将此成员初始化为 ALIGN_CENTER。

CMFCButton::m_bWasDblClk

指示上次点击事件是否为双击事件。

BOOL m_bWasDblClk;

CMFCButton::m_nFlatStyle

指定按钮的样式,如无边框、平面、半平面或 3D。

FlatStyle m_nFlatStyle;

注解

下表列出了用于指定按钮外观的 CMFCButton::m_nFlatStyle 枚举值。

值 描述
BUTTONSTYLE_3D (默认)按钮显示有较高的三维边。 单击按钮时,该按钮显示有一个较深的缩进。
BUTTONSTYLE_FLAT 当鼠标不停在按钮上时,该按钮显示为二维,并且没有凸起的边。 当鼠标停在按钮上时,该按钮显示有较低的三维边。 单击按钮时,该按钮显示有一个较浅的缩进。
BUTTONSTYLE_SEMIFLAT 该按钮显示有较低的三维边。 单击按钮时,该按钮显示有一个较深的缩进。
BUTTONSTYLE_NOBORDERS 该按钮没有凸起的边,并且始终显示为二维。 单击按钮时,该按钮没有缩进。

CMFCButton 构造函数将此成员初始化为 BUTTONSTYLE_3D。

示例

下面的示例演示了如何在 m_nFlatStyle 类中设置 CMFCButton 成员变量的值。 本示例是新控件示例的一部分。

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

由框架调用以绘制按钮。

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

参数

pDC
[in] 指向设备上下文的指针。

rect
[in] 对限定按钮的矩形的引用。

uiState
[in] 当前按钮状态。 有关详细信息,请参阅 itemState的 DRAWITEMSTRUCT 成员主题。

注解

重写此方法以使用自己的代码绘制按钮。

CMFCButton::OnDrawBorder

由框架调用以绘制按钮的边框。

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

参数

pDC
[in] 指向设备上下文的指针。

rectClient
[in] 对限定按钮的矩形的引用。

uiState
[in] 当前按钮状态。 有关详细信息,请参阅 itemState的 DRAWITEMSTRUCT 成员主题。

注解

重写此方法以使用自己的代码绘制边框。

CMFCButton::OnDrawFocusRect

由框架调用以绘制按钮的聚焦框。

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

参数

pDC
[in] 指向设备上下文的指针。

rectClient
[in] 对限定按钮的矩形的引用。

注解

重写此方法以使用自己的代码绘制聚焦框。

CMFCButton::OnDrawText

由框架调用以绘制按钮文本。

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

参数

pDC
[in] 指向设备上下文的指针。

rect
[in] 对限定按钮的矩形的引用。

strText
[in] 要绘制的文本。

uiDTFlags
[in] 用于指定如何设置文本格式的标记。 有关详细信息,请参阅 nFormat 方法的 CDC::DrawText 参数。

uiState
[in] 保留。

注解

重写此方法以使用自己的代码绘制按钮文本。

CMFCButton::OnFillBackground

由框架调用以绘制按钮文本的背景。

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

参数

pDC
[in] 指向设备上下文的指针。

rectClient
[in] 对限定按钮的矩形的引用。

注解

重写此方法以使用自己的代码绘制按钮的背景。

CMFCButton::SelectFont

检索与指定设备上下文关联的字体。

virtual CFont* SelectFont(CDC* pDC);

参数

pDC
[in] 指向设备上下文的指针。

返回值

重写此方法以使用自己的代码检索字体。

CMFCButton::SetAutorepeatMode

将按钮设置为自动重复模式。

void SetAutorepeatMode(int nTimeDelay=500);

参数

nTimeDelay
[in] 一个非负数,用于指定发送到父窗口的消息之间的间隔。 间隔以毫秒为单位,其默认值为 500 毫秒。 指定零可禁用自动重复消息模式。

注解

在按钮被释放或 WM_COMMAND 参数设置为零之前,此方法会不断向父窗口发送 nTimeDelay 消息。

CMFCButton::SetCheckedImage

设置选中的按钮的图像。

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);

参数

hIcon
[in] 包含新图像的位图和蒙板的图标句柄。

bAutoDestroy
[in] 如果为 TRUE,则指定自动销毁该位图资源;否则为 FALSE。 默认为 TRUE。

hIconHot
[in] 包含选中状态的图像的图标句柄。

hBitmap
[in] 包含未选中状态的图像的位图句柄。

hBitmapHot
[in] 包含选中状态的图像的位图句柄。

bMap3dColors
[in] 指定按钮背景的透明色;即按钮的表面。 如果为 TRUE,则使用颜色值 RGB(192, 192, 192);如果为 FALSE,则使用 AFX_GLOBAL_DATA::clrBtnFace 定义的颜色值。

uiBmpResId
[in] 未选中的图像的资源 ID。

uiBmpHotResId
[in] 选中的图像的资源 ID。

hIconDisabled
[in] 禁用的图像的图标句柄。

hBitmapDisabled
[in] 包含禁用的图像的位图句柄。

uiBmpDsblResID
[in] 禁用的位图的资源 ID。

bAlphaBlend
[in] 如果为 TRUE,则只使用使用 alpha 通道的 32 位图像;如果为 FALSE,则不只使用 alpha 通道图像。 默认为 FALSE。

CMFCButton::SetFaceColor

设置按钮文本的背景色。

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

参数

crFace
[in] RGB 颜色值。

bRedraw
[in] 如果值为 TRUE,则立即重绘屏幕;否则为 FALSE。

注解

使用此方法可为按钮背景(表面)定义新的填充颜色。 请注意,如果 CMFCButton::m_bTransparent 成员变量为 TRUE,则不会填充背景。

CMFCButton::SetImage

设置按钮的图像。

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);

参数

hIcon
[in] 包含新图像的位图和蒙板的图标句柄。

bAutoDestroy
[in] 如果为 TRUE,则指定自动销毁该位图资源;否则为 FALSE。 默认为 TRUE。

hIconHot
[in] 包含选中状态的图像的图标句柄。

hBitmap
[in] 包含未选中状态的图像的位图句柄。

hBitmapHot
[in] 包含选中状态的图像的位图句柄。

uiBmpResId
[in] 未选中的图像的资源 ID。

uiBmpHotResId
[in] 选中的图像的资源 ID。

bMap3dColors
[in] 指定按钮背景的透明色;即按钮的表面。 如果为 TRUE,则使用颜色值 RGB(192, 192, 192);如果为 FALSE,则使用 AFX_GLOBAL_DATA::clrBtnFace 定义的颜色值。

hIconDisabled
[in] 禁用的图像的图标句柄。

hBitmapDisabled
[in] 包含禁用的图像的位图句柄。

uiBmpDsblResID
[in] 禁用的位图的资源 ID。

bAlphaBlend
[in] 如果为 TRUE,则只使用使用 alpha 通道的 32 位图像;如果为 FALSE,则不只使用 alpha 通道图像。 默认为 FALSE。

示例

以下示例演示如何在 SetImage 类中使用各种版本的 CMFCButton 方法。 本示例是新控件示例的一部分。

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

设置光标图像。

void SetMouseCursor(HCURSOR hcursor);

参数

hcursor
[in] 光标的句柄。

注解

使用此方法可将光标图像(如手形光标)与按钮相关联。 光标是从应用程序资源加载的。

示例

以下示例演示了如何在 SetMouseCursor 类中使用 CMFCButton 方法。 本示例是新控件示例中的部分代码。

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

将光标设置为手形图像。

void SetMouseCursorHand();

注解

使用此方法可将手形光标图像与按钮相关联。 光标是从应用程序资源加载的。

CMFCButton::SetStdImage

使用 CMenuImages 对象设置按钮图像。

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

参数

id
[in] CMenuImage::IMAGES_IDS 枚举中定义的按钮图像标识符之一。 图像值指定箭头、引脚和单选按钮等图像。

state
[in] CMenuImages::IMAGE_STATE 枚举中定义的按钮图像状态标识符之一。 图像状态指定按钮颜色,如黑色、灰色、浅灰色、白色和深灰色。 默认值为 CMenuImages::ImageBlack。

idDisabled
[in] CMenuImage::IMAGES_IDS 枚举中定义的按钮图像标识符之一。 该图像指示该按钮已禁用。 默认值为第一个按钮图像(CMenuImages::IdArrowDown)。

CMFCButton::SetTextColor

设置未选中的按钮的按钮文本的颜色。

void SetTextColor(COLORREF clrText);

参数

clrText
[in] RGB 颜色值。

CMFCButton::SetTextHotColor

设置选中的按钮的按钮文本的颜色。

void SetTextHotColor(COLORREF clrTextHot);

参数

clrTextHot
[in] RGB 颜色值。

CMFCButton::SetTooltip

将工具提示与按钮相关联。

void SetTooltip(LPCTSTR lpszToolTipText);

参数

lpszToolTipText
[in] 指向工具提示的文本的指针。 指定 NULL 可禁用工具提示。

CMFCButton::SizeToContent

调整按钮的大小以包含按钮文本和图像。

virtual CSize SizeToContent(BOOL bCalcOnly=FALSE);

参数

bCalcOnly
[in] 要计算按钮的新大小但不更改,则为 TRUE;要更改按钮的大小,则为 FALSE。 默认为 FALSE。

返回值

包含按钮新大小的 CSize 对象。

注解

默认情况下,此方法会计算新的大小,该大小包括 10 像素的水平边距和 5 像素的垂直边距。

另请参阅

层次结构图
类
CMFCLinkCtrl 类
CMFCColorButton 类
CMFCMenuButton 类