次の方法で共有


CMFCButton クラス

更新 : 2007 年 11 月

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

Windows 関数の TranslateMessageDispatchMessage にディスパッチする前にウィンドウ メッセージを変換します (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_bDrawFocus

ボタンの周囲にフォーカスを示す四角形を描画するかどうかを指定します。

CMFCButton::m_bHighlightChecked

BS_CHECKBOX スタイルのボタンの上にカーソルが置かれたときに、そのボタンを強調表示するかどうかを指定します。

CMFCButton::m_bRightImage

ボタンの右側にイメージを表示するかどうかを指定します。

CMFCButton::m_bTransparent

ボタンが透明かどうかを示します。

CMFCButton::m_nAlignStyle

ボタン テキストの配置を指定します。

CMFCButton::m_nFlatStyle

ボーダレス、フラット、セミフラット、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!"));

継承階層

CObject

   CCmdTarget

      CWnd

         CButton

            CMFCButton

必要条件

ヘッダー : afxbutton.h

参照

概念

MFC 階層図

参照

CMFCLinkCtrl クラス

CMFCColorButton クラス

CMFCMenuButton クラス

その他の技術情報

クラス (MFC Feature Pack)