分享方式:


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 至您的應用程式,然後呼叫 物件的建構函式和 Create 方法 CMFCButton 。 如果您使用 MFC 類別精靈,請將變數新增 CButton 至您的應用程式,然後將變數的類型從 CButton 變更為 CMFCButton

若要處理對話框應用程式中的通知訊息,請為每個通知新增訊息對應專案和事件處理程式。 物件所 CMFCButton 傳送的通知與 物件所傳送的 CButton 通知相同。

範例

下列範例示範如何使用 類別中的 CMFCButton 各種方法設定按鈕的屬性。 此範例是 New Controls 範例一部分。

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_AUTOCHECKBOXBS_AUTORADIOBUTTON,則為 ,否則為 FALSE

備註

CMFCButton::IsAutorepeatCommandMode

指出按鈕是否設定為自動重複模式。

BOOL IsAutorepeatCommandMode() const;

傳回值

TRUE 如果按鈕設定為自動重複模式,則為 ;否則為 FALSE

備註

使用方法將 CMFCButton::SetAutorepeatMode 按鈕設定為自動重複模式。

CMFCButton::IsCheckBox

指出按鈕是否為複選框按鈕。

BOOL IsCheckBox() const;

傳回值

TRUE 如果按鈕具有 BS_CHECKBOXBS_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_AUTORADIOBUTTON,則為 BS_RADIOBUTTON ,否則為 FALSE

備註

CMFCButton::IsWindowsThemingEnabled

指出按鈕框線的樣式是否對應至目前的 Windows 主題。

static BOOL IsWindowsThemingEnabled();

傳回值

TRUE 如果按鈕框線的樣式對應至目前的 Windows 主題,則為 ;否則為 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 其中一個列舉值來指定按鈕文字的對齊方式:

Description
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 指定按鈕外觀的列舉值。

Description
BUTTONSTYLE_3D (預設值)按鈕似乎具有高、立體的側邊。 按鍵時,按鈕會顯示為按下深度縮排。
BUTTONSTYLE_FLAT 當滑鼠未暫停按鈕上方時,按鈕會顯示為二維,而且沒有引發的側邊。 當滑鼠暫停在按鈕上方時,按鈕看起來會有低、立體的兩側。 按兩下按鈕時,按鈕會顯示為淺縮排。
BUTTONSTYLE_SEMIFLAT 按鈕似乎有低維度的三維側邊。 按鍵時,按鈕會顯示為按下深度縮排。
BUTTONSTYLE_NOBORDERS 按鈕沒有引發的側邊,而且一律會顯示二維。 按兩下按鈕時,似乎不會按下縮排。

建構函式會將 CMFCButton 這個成員初始化為 BUTTONSTYLE_3D

範例

下列範例示範如何在 類別中CMFCButton設定成員變數的值m_nFlatStyle。 此範例是 New Controls 範例一部分。

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 Structure 主題的成員DRAWITEMSTRUCT

備註

覆寫此方法以使用您自己的程式代碼來繪製按鈕。

CMFCButton::OnDrawBorder

由架構呼叫以繪製按鈕的框線。

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

參數

pDC
[in]裝置內容的指標。

rectClient
[in]系結按鈕之矩形的參考。

uiState
[in]目前的按鈕狀態。 如需詳細資訊,請參閱 itemState Structure 主題的成員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]未選取影像的資源標識碼。

uiBmpHotResId
[in]所選影像的資源標識碼。

hIconDisabled
[in]已停用影像的圖示句柄。

hBitmapDisabled
[in]包含已停用影像的點陣圖句柄。

uiBmpDsblResID
[in]已停用位圖的資源標識碼。

bAlphaBlend
[in] TRUE 僅使用使用Alpha色板的32位影像; FALSE,不只使用Alpha色板影像。 預設值為 FALSE

備註

CMFCButton::SetFaceColor

設定按鈕文字的背景色彩。

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

參數

crFace
[in]RGB 色彩值。

bRedraw
[in] TRUE 表示立即重新繪製螢幕;否則為 FALSE

備註

使用此方法可定義按鈕背景的新填滿色彩(臉部)。 請注意,當成員變數為 TRUECMFCButton::m_bTransparent,背景不會填滿。

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]未選取影像的資源標識碼。

uiBmpHotResId
[in]所選影像的資源標識碼。

bMap3dColors
[in]指定按鈕背景的透明色彩;也就是說,按鈕的臉部。 TRUE 使用色彩值 RGB(192、192、192): FALSE 表示使用 所 AFX_GLOBAL_DATA::clrBtnFace定義的色彩值。

hIconDisabled
[in]已停用影像的圖示句柄。

hBitmapDisabled
[in]包含已停用影像的點陣圖句柄。

uiBmpDsblResID
[in]已停用位圖的資源標識碼。

bAlphaBlend
[in] TRUE 僅使用使用Alpha色板的32位影像; FALSE,不只使用Alpha色板影像。 預設值為 FALSE

備註

範例

下列範例示範如何在 類別中使用CMFCButton各種版本的 SetImage 方法。 此範例是 New Controls 範例一部分。

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