次の方法で共有


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 ウィンドウ メッセージを TranslateMessage および windows 関数にディスパッチする前 DispatchMessage 変換します。 ( 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-flat、またはno borderできます。 ボタンのテキストは、ボタンの左、上、または中央に配置できます。 実行時に、ボタンにテキスト、画像、またはテキストと画像を表示するかどうかを制御できます。 また、カーソルがボタンの上に置いたときに特定のカーソルイメージを表示することもできます。

ボタン コントロールをコード内で直接作成するか、 MFC クラス ウィザード ツールとダイアログ ボックス テンプレートを使用して作成します。 ボタン コントロールを直接作成する場合は、アプリケーションにCMFCButton変数を追加し、Create オブジェクトのコンストラクターとCMFCButtonメソッドを呼び出します。 MFC クラス ウィザードを使用する場合アプリケーションにCButton変数を追加し、変数の型を CButton から CMFCButton に変更します。

ダイアログ ボックス アプリケーションで通知メッセージを処理するには、各通知のメッセージ マップ エントリとイベント ハンドラーを追加します。 CMFCButton オブジェクトによって送信される通知は、CButton オブジェクトによって送信される通知と同じです。

次の例では、 CMFCButton クラスのさまざまなメソッドを使用してボタンのプロパティを構成する方法を示します。 この例は、 New コントロールのサンプルの一部です。

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
[入力] TRUE すべてのテキストを表示するには、切り捨てられたテキストを表示する FALSE

CMFCButton::EnableMenuFont

ボタンテキストフォントがアプリケーションメニューフォントと同じかどうかを指定します。

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

パラメーター

bOn
[入力] TRUE ボタンテキストフォントとしてアプリケーションメニューフォントを使用する場合。システム フォントを使用する FALSE 。 既定値は、TRUE です。

bRedraw
[入力] TRUE 画面をすぐに再描画する。それ以外の場合は FALSE。 既定値は、TRUE です。

解説

このメソッドを使用してボタンテキストのフォントを指定しない場合は、 CWnd::SetFont メソッドでフォントを指定できます。 フォントをまったく指定しない場合、フレームワークによって既定のフォントが設定されます。

CMFCButton::EnableWindowsTheming

ボタンの境界線のスタイルが現在の Windows テーマに対応するかどうかを指定します。

static void EnableWindowsTheming(BOOL bEnable = TRUE);

パラメーター

bEnable
[入力] TRUE 現在の Windows テーマを使用してボタンの境界線を描画する場合。Windows テーマを使用しないように FALSE します。 既定値は、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();

戻り値

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

イメージがボタンの上にあるかどうかを示します。

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 (既定値)ボタンは、高い 3 次元の側面を持っているように見えます。 ボタンがクリックされると、ボタンが深いインデントに押されたように見えます。
BUTTONSTYLE_FLAT マウスがボタンの上に一時停止しない場合、ボタンは 2 次元のように見え、側面が上がっていません。 ボタンの上にマウスを置くと、ボタンの端が低く、3 次元に表示されます。 ボタンをクリックすると、ボタンが浅いインデントに押されたように見えます。
BUTTONSTYLE_SEMIFLAT ボタンは、低い 3 次元の側面を持っているように見えます。 ボタンがクリックされると、ボタンが深いインデントに押されたように見えます。
BUTTONSTYLE_NOBORDERS ボタンの側面は上がらず、常に 2 次元で表示されます。 ボタンをクリックしてもインデントが押されていないように見えます。

CMFCButton コンストラクターは、このメンバーを初期化してBUTTONSTYLE_3Dします。

次の例では、m_nFlatStyle クラスの CMFCButton メンバー変数の値を設定する方法を示します。 この例は、 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
[入力] デバイス コンテキストへのポインター。

rect
[in]ボタンを囲む四角形への参照。

uiState
[in]現在のボタンの状態。 詳細については、「DRAWITEMSTRUCT」トピックのメンバーを参照してください。

解説

独自のコードを使用してボタンを描画するには、このメソッドをオーバーライドします。

CMFCButton::OnDrawBorder

ボタンの境界線を描画するためにフレームワークによって呼び出されます。

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

パラメーター

pDC
[入力] デバイス コンテキストへのポインター。

rectClient
[in]ボタンを囲む四角形への参照。

uiState
[in]現在のボタンの状態。 詳細については、「DRAWITEMSTRUCT」トピックのメンバーを参照してください。

解説

独自のコードを使用して境界線を描画するには、このメソッドをオーバーライドします。

CMFCButton::OnDrawFocusRect

ボタンのフォーカス四角形を描画するためにフレームワークによって呼び出されます。

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

パラメーター

pDC
[入力] デバイス コンテキストへのポインター。

rectClient
[in]ボタンを囲む四角形への参照。

解説

独自のコードを使用してフォーカスの四角形を描画するには、このメソッドをオーバーライドします。

CMFCButton::OnDrawText

ボタンテキストを描画するためにフレームワークによって呼び出されます。

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

パラメーター

pDC
[入力] デバイス コンテキストへのポインター。

rect
[in]ボタンを囲む四角形への参照。

strText
[in]描画するテキスト。

uiDTFlags
[in]テキストの書式設定方法を指定するフラグ。 詳細については、nFormat メソッドの CDC::DrawText パラメーターを参照してください。

uiState
[in] 予約されています。

解説

独自のコードを使用してボタン テキストを描画するには、このメソッドをオーバーライドします。

CMFCButton::OnFillBackground

ボタン テキストの背景を描画するためにフレームワークによって呼び出されます。

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

パラメーター

pDC
[入力] デバイス コンテキストへのポインター。

rectClient
[in]ボタンを囲む四角形への参照。

解説

独自のコードを使用してボタンの背景を描画するには、このメソッドをオーバーライドします。

CMFCButton::SelectFont

指定したデバイス コンテキストに関連付けられているフォントを取得します。

virtual CFont* SelectFont(CDC* pDC);

パラメーター

pDC
[入力] デバイス コンテキストへのポインター。

戻り値

独自のコードを使用してフォントを取得するには、このメソッドをオーバーライドします。

CMFCButton::SetAutorepeatMode

ボタンを自動繰り返しモードに設定します。

void SetAutorepeatMode(int nTimeDelay=500);

パラメーター

nTimeDelay
[in]親ウィンドウに送信されるメッセージ間の間隔を指定する負でない番号。 間隔はミリ秒単位で測定され、既定値は 500 ミリ秒です。 メッセージの自動繰り返しモードを無効にするには、0 を指定します。

解説

このメソッドにより、ボタンが離されるか、WM_COMMAND パラメーターが 0 に設定されるまで、ボタンは常に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
[入力] TRUE ビットマップ リソースを自動的に破棄するように指定する場合。それ以外の場合は FALSE。 既定値は、TRUE です。

hIconHot
[in]選択した状態の画像を含むアイコンを処理します。

hBitmap
[in]選択されていない状態のイメージを含むビットマップを処理します。

hBitmapHot
[in]選択した状態のイメージを含むビットマップを処理します。

bMap3dColors
[in]ボタンの背景の透明な色を指定します。つまり、ボタンの面です。 TRUE色値 RGB(192, 192, 192)を使用する場合。FALSEAFX_GLOBAL_DATA::clrBtnFaceによって定義された色の値を使用します。

uiBmpResId
[in]選択されていないイメージのリソース ID。

uiBmpHotResId
[in]選択したイメージのリソース ID。

hIconDisabled
[in]無効なイメージのアイコンを処理します。

hBitmapDisabled
[in]無効なイメージを含むビットマップを処理します。

uiBmpDsblResID
[in]無効になっているビットマップのリソース ID。

bAlphaBlend
[入力] TRUE アルファチャネルを使用する32ビットイメージのみを使用する場合。 FALSE、アルファ チャネル イメージのみを使用しないようにします。 既定値は、FALSE です。

CMFCButton::SetFaceColor

ボタンテキストの背景色を設定します。

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

パラメーター

crFace
[in]RGB カラー値。

bRedraw
[入力] 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
[入力] TRUE ビットマップ リソースを自動的に破棄するように指定する場合。それ以外の場合は FALSE。 既定値は、TRUE です。

hIconHot
[in]選択した状態の画像を含むアイコンを処理します。

hBitmap
[in]選択されていない状態のイメージを含むビットマップを処理します。

hBitmapHot
[in]選択した状態のイメージを含むビットマップを処理します。

uiBmpResId
[in]選択されていないイメージのリソース ID。

uiBmpHotResId
[in]選択したイメージのリソース ID。

bMap3dColors
[in]ボタンの背景の透明な色を指定します。つまり、ボタンの面です。 TRUE色値 RGB(192, 192, 192)を使用する場合。FALSEAFX_GLOBAL_DATA::clrBtnFaceによって定義された色の値を使用します。

hIconDisabled
[in]無効なイメージのアイコンを処理します。

hBitmapDisabled
[in]無効なイメージを含むビットマップを処理します。

uiBmpDsblResID
[in]無効になっているビットマップのリソース ID。

bAlphaBlend
[入力] TRUE アルファチャネルを使用する32ビットイメージのみを使用する場合。 FALSE、アルファ チャネル イメージのみを使用しないようにします。 既定値は、FALSE です。

次の例では、SetImage クラスでさまざまなバージョンの CMFCButton メソッドを使用する方法を示します。 この例は、 New コントロールのサンプルの一部です。

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 メソッドを使用する方法を示します。 この例は、 New コントロールのサンプルのコードの一部です。

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 列挙体で定義されているボタン イメージ識別子の 1 つ。 画像の値は、矢印、ピン、ラジオ ボタンなどの画像を指定します。

state
[in] CMenuImages::IMAGE_STATE 列挙体で定義されているボタン イメージ状態識別子の 1 つ。 イメージの状態では、ボタンの色 (黒、灰色、薄い灰色、白、濃い灰色など) を指定します。 既定値は CMenuImages::ImageBlack です。

idDisabled
[in] CMenuImage::IMAGES_IDS 列挙体で定義されているボタン イメージ識別子の 1 つ。 この画像は、ボタンが無効になっていることを示しています。 既定値は、最初のボタンイメージ (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
[入力] TRUE ボタンの新しいサイズを計算しますが、変更することはできません。ボタンのサイズを変更する FALSE します。 既定値は、FALSE です。

戻り値

ボタンの新しいサイズを含む CSize オブジェクト。

解説

既定では、このメソッドは、10 ピクセルの水平余白と 5 ピクセルの垂直余白を含む新しいサイズを計算します。

関連項目

階層図
クラス
CMFCLinkCtrl クラス
CMFCColorButton クラス
CMFCMenuButton クラス