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 オブジェクトのスタイルは、3D、flat、semi-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!"));
継承階層
要件
ヘッダー: 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 スタイルがある場合は
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 クラス