CMFCButton クラス
更新 : 2007 年 11 月
CMFCButton クラスは、ボタン テキストの整列、ボタン テキストとイメージの組み合わせ、カーソルの選択、ツールヒントの指定などの機能を CButton クラスに追加します。
class CMFCButton : public CButton
名前 |
説明 |
---|---|
CMFCButton::CMFCButton |
既定のコンストラクタです。 |
CMFCButton::~CMFCButton |
デストラクタです。 |
名前 |
説明 |
---|---|
内部変数をリセットし、イメージ、ビットマップ、アイコンなどの割り当てられているリソースを解放します。 |
|
CMFCButton::CreateObject |
このクラス型の動的インスタンスを作成するために、フレームワークによって使用されます。 |
CMFCButton::DrawItem |
オーナー描画ボタンの表示上の外観が変化すると、フレームワークが呼び出します (CButton::DrawItem をオーバーライドします)。 |
大きいツールヒント ウィンドウにツールヒントのテキスト全体を表示するか、小さいツールヒント ウィンドウに切り詰められたテキストを表示するかを指定します。 |
|
ボタン テキストのフォントがアプリケーション メニューのフォントと同じかどうかを指定します。 |
|
ボタンの境界線のスタイルを現在の Windows テーマと一致させるかどうかを指定します。 |
|
CMFCButton::GetThisClass |
このクラス型に関連付けられた CRuntimeClass オブジェクトへのポインタを取得するために、フレームワークによって使用されます。 |
基になるツールヒント コントロールへの参照を返します。 |
|
チェック ボックスまたはオプション ボタンが自動ボタンかどうかを示します。 |
|
ボタンが自動繰り返しモードに設定されているかどうかを示します。 |
|
ボタンがチェック ボックス ボタンかどうかを示します。 |
|
現在のボタンがオンになっているかどうかを示します。 |
|
ボタンが強調表示されているかどうかを示します。 |
|
ボタンが押され、強調表示されているかどうかを示します。 |
|
ボタンがクリックされているかどうかを示します。 |
|
ボタンがオプション ボタンかどうかを示します。 |
|
ボタンの境界線のスタイルを現在の Windows テーマと一致させるかどうかを示します。 |
|
CMFCButton::OnDrawParentBackground |
指定領域にボタンの親の背景を描画します (AFX_GLOBAL_DATA::DrawParentBackground をオーバーライドします)。 |
CMFCButton::PreTranslateMessage |
Windows 関数の TranslateMessage や DispatchMessage にディスパッチする前にウィンドウ メッセージを変換します (CWnd::PreTranslateMessage をオーバーライドします)。 |
ボタンをオートリピート モードに設定します。 |
|
オン状態のボタンのイメージを設定します。 |
|
ボタン テキストの背景色を設定します。 |
|
ボタンのイメージを設定します。 |
|
カーソル イメージを設定します。 |
|
カーソルを手の形のカーソルのイメージに設定します。 |
|
CMenuImages オブジェクトを使用して、ボタン イメージを設定します。 |
|
選択されていないボタンのボタン テキストの色を設定します。 |
|
選択されているボタンのボタン テキストの色を設定します。 |
|
ツールヒントをボタンに関連付けます。 |
|
ボタン テキストおよびイメージを格納するボタンのサイズを変更します。 |
名前 |
説明 |
---|---|
ボタンを描画するために、フレームワークが呼び出します。 |
|
ボタンの境界線を描画するために、フレームワークによって呼び出されます。 |
|
ボタンのフォーカスを示す四角形を描画するために、フレームワークによって呼び出されます。 |
|
ボタン テキストを描画するために、フレームワークによって呼び出されます。 |
|
ボタン テキストの背景を描画するために、フレームワークによって呼び出されます。 |
|
指定されたデバイス コンテキストに関連付けられているフォントを取得します。 |
名前 |
説明 |
---|---|
ボタンの周囲にフォーカスを示す四角形を描画するかどうかを指定します。 |
|
BS_CHECKBOX スタイルのボタンの上にカーソルが置かれたときに、そのボタンを強調表示するかどうかを指定します。 |
|
ボタンの右側にイメージを表示するかどうかを指定します。 |
|
ボタンが透明かどうかを示します。 |
|
ボタン テキストの配置を指定します。 |
|
ボーダレス、フラット、セミフラット、3D などの、ボタンのスタイルを指定します。 |
他の種類のボタンは、ハイパーリンクをサポートする CMFCURLLinkButton クラスやカラー ピッカー ダイアログ ボックスをサポートする CMFCColorButton クラスなどの CMFCButton クラスから派生します。
CMFCButton オブジェクトのスタイルは、3D、フラット、セミフラット、または境界線なしとなります。ボタン テキストは、ボタンの左側、上部、または中央に揃えて配置できます。実行時に、ボタンにテキスト、イメージ、またはテキストとイメージを表示するかどうかを制御できます。カーソルをボタンの上に置いたときに、特定のカーソル イメージを表示するように指定することもできます。
ボタン コントロールを、コードで直接作成するか、MFC クラス ウィザード ツールとダイアログ ボックス テンプレートを使用して作成します。ボタン コントロールを直接作成する場合は、アプリケーションに CMFCButton 変数を追加し、CMFCButton オブジェクトのコンストラクタおよび Create メソッドを呼び出します。MFC クラス ウィザードを使用する場合は、アプリケーションに CButton 変数を追加し、変数の型を CButton から CMFCButton に変更します。
ダイアログ ボックス アプリケーションで通知メッセージを処理するには、各通知のメッセージ マップ エントリとイベント ハンドラを追加します。CMFCButton オブジェクトから送信される通知は、CButton オブジェクトから送信される通知と同じです。
CMFCButton クラスのさまざまなメソッドを使用してボタンのプロパティを設定する方法を次の例に示します。この例は、「NewControls サンプル : MFC コントロールのデモ アプリケーション」の一部です。
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
{
if (afxGlobalData.bIsOSAlphaBlendingSupport)
{
m_Button.SetImage(IDB_BTN1_32, IDB_BTN1_HOT_32);
}
else
{
m_Button.SetImage(IDB_BTN1, IDB_BTN1_HOT);
}
}
...
// 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