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 |
最後のクリック イベントがダブルクリックされたかどうかを示します。 |
解説
その他の種類のボタンは、ハイパーリンクをサポートする CMFCURLLinkButton
クラスや、カラー ピッカー ダイアログ ボックスをサポートする CMFCColorButton
クラスなど、CMFCButton
クラスから派生します。
CMFCButton
オブジェクトのスタイルは、3D
、flat
、semi-flat
、またはno border
できます。 ボタンのテキストは、ボタンの左、上、または中央に配置できます。 実行時に、ボタンにテキスト、画像、またはテキストと画像を表示するかどうかを制御できます。 また、カーソルがボタンの上に置いたときに特定のカーソルイメージを表示することもできます。
ボタン コントロールをコード内で直接作成するか、 MFC クラス ウィザード ツールとダイアログ ボックス テンプレートを使用して作成します。 ボタン コントロールを直接作成する場合は、アプリケーションにCMFCButton
変数を追加し、CMFCButton
オブジェクトのコンストラクターとCreate
メソッドを呼び出します。 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](#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 |
(既定値)ボタンは、高い 3 次元の側面を持っているように見えます。 ボタンがクリックされると、ボタンが深いインデントに押されたように見えます。 |
BUTTONSTYLE_FLAT |
マウスがボタンの上に一時停止しない場合、ボタンは 2 次元のように見え、側面が上がっていません。 ボタンの上にマウスを置くと、ボタンの端が低く、3 次元に表示されます。 ボタンをクリックすると、ボタンが浅いインデントに押されたように見えます。 |
BUTTONSTYLE_SEMIFLAT |
ボタンは、低い 3 次元の側面を持っているように見えます。 ボタンがクリックされると、ボタンが深いインデントに押されたように見えます。 |
BUTTONSTYLE_NOBORDERS |
ボタンの側面は上がらず、常に 2 次元で表示されます。 ボタンをクリックしてもインデントが押されていないように見えます。 |
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
[入力] デバイス コンテキストへのポインター。
rect
[in]ボタンを囲む四角形への参照。
uiState
[in]現在のボタンの状態。 詳細については、「DRAWITEMSTRUCT
構造体」トピックのitemState
メンバーを参照してください。
解説
独自のコードを使用してボタンを描画するには、このメソッドをオーバーライドします。
CMFCButton::OnDrawBorder
ボタンの境界線を描画するためにフレームワークによって呼び出されます。
virtual void OnDrawBorder(
CDC* pDC,
CRect& rectClient,
UINT uiState);
パラメーター
pDC
[入力] デバイス コンテキストへのポインター。
rectClient
[in]ボタンを囲む四角形への参照。
uiState
[in]現在のボタンの状態。 詳細については、「DRAWITEMSTRUCT
構造体」トピックのitemState
メンバーを参照してください。
解説
独自のコードを使用して境界線を描画するには、このメソッドをオーバーライドします。
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]テキストの書式設定方法を指定するフラグ。 詳細については、CDC::DrawText
メソッドの nFormat
パラメーターを参照してください。
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 を指定します。
解説
このメソッドにより、ボタンが離されるか、nTimeDelay
パラメーターが 0 に設定されるまで、ボタンは常に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
[入力] 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
[入力] 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)を使用する場合。FALSE
AFX_GLOBAL_DATA::clrBtnFace
によって定義された色の値を使用します。
hIconDisabled
[in]無効なイメージのアイコンを処理します。
hBitmapDisabled
[in]無効なイメージを含むビットマップを処理します。
uiBmpDsblResID
[in]無効になっているビットマップのリソース ID。
bAlphaBlend
[入力] TRUE
アルファチャネルを使用する32ビットイメージのみを使用する場合。 FALSE
、アルファ チャネル イメージのみを使用しないようにします。 既定値は、FALSE
です。
解説
例
次の例では、CMFCButton
クラスでさまざまなバージョンの SetImage
メソッドを使用する方法を示します。 この例は、 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]カーソルのハンドル。
解説
このメソッドを使用して、手のカーソルなどのカーソルイメージをボタンに関連付けます。 カーソルはアプリケーション リソースから読み込まれます。
例
次の例では、CMFCButton
クラスで SetMouseCursor
メソッドを使用する方法を示します。 この例は、 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
クラス