CMFCButton

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 在窗口消息调度到 TranslateMessageDispatchMessage 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 对象的样式可以是 3Dflatsemi-flatno border。 按钮文本可以在按钮的左侧、顶部或中心对齐。 在运行时,可控制按钮是显示文本、图像还是文本和图像。 还可指定当光标悬停在按钮上时显示特定的光标图像。

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

要处理对话框应用程序中的通知消息,请为每个通知添加消息映射条目和事件处理程序。 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;

返回值

如果按钮为 BS_AUTOCHECKBOXBS_AUTORADIOBUTTON 样式,则为 TRUE;否则为 FALSE

备注

CMFCButton::IsAutorepeatCommandMode

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

BOOL IsAutorepeatCommandMode() const;

返回值

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

注解

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

CMFCButton::IsCheckBox

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

BOOL IsCheckBox() const;

返回值

如果按钮为 BS_CHECKBOXBS_AUTOCHECKBOX 样式,则为 TRUE;否则为 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;

返回值

如果按钮样式为 BS_RADIOBUTTONBS_AUTORADIOBUTTON,则为 TRUE;否则为 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](#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](#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

示例

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

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] 当前按钮状态。 有关详细信息,请参阅 DRAWITEMSTRUCT 结构itemState 成员主题。

注解

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

CMFCButton::OnDrawBorder

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

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

参数

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

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

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

备注

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

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] 用于指定如何设置文本格式的标记。 有关详细信息,请参阅 CDC::DrawText 方法的 nFormat 参数。

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 毫秒。 指定零可禁用自动重复消息模式。

备注

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

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

注解

示例

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

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] 光标的句柄。

注解

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

示例

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

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