CButton クラス

更新 : 2007 年 11 月

Windows のボタン コントロールの機能が用意されています。

class CButton : public CWnd

解説

ボタン コントロールは、クリックでオン、オフできる小さな長方形の子ウィンドウです。ボタンは単独またはグループで使います。ラベルを付けることも、テキストを表示せずに使うこともできます。ボタンは、通常クリックされたときに形状が変化します。

代表的なボタンには、チェック ボックス、オプション ボタン、およびプッシュ ボタンがあります。CButton オブジェクトは、Create メンバ関数で初期化時に指定したボタン スタイルにより、これらのどれか 1 つになります。

CButton クラスから派生した CBitmapButton クラスを使うと、ラベルがテキストではなくビットマップ イメージのボタン コントロールを作成できます。CBitmapButton では、ボタンの状態をビットマップで表示できます。ボタンの状態には、通常状態、押下状態、フォーカス状態、無効状態があります。

ボタン コントロールを作成するときは、ダイアログ テンプレートを利用するか、直接コード中に記述します。どちらの場合でも、まず CButton クラスのコンストラクタにより CButton オブジェクトを構築します。その後、Windows のボタン コントロールを作るために Create メンバ関数を呼び出し、CButton オブジェクトに結び付けます。

CButton クラスからの派生クラスでは、1 ステップで構築できます。派生クラスのコンストラクタを記述し、その中で Create 関数を呼び出します。

ボタン コントロールから親クラス (通常は CDialog の派生クラス) に送られてくる Windows の通知メッセージを処理するには、親クラスに各メッセージのメッセージ マップ エントリとメッセージ ハンドラ メンバ関数を追加します。

各メッセージ マップのエントリは次の形式を持ちます。

ON_Notification(id, memberFxn)

id には、通知を送るコントロールの子ウィンドウ ID を指定します。memberFxn は、通知を処理する親クラスのメンバ関数名です。

親の関数のプロトタイプは次のようになります。

afx_msgvoidmemberFxn**( );**

有効なメッセージ マップ エントリを次の表に示します。

マップ エントリ

親クラスに送られるとき

ON_BN_CLICKED

ボタンをクリックしたとき

ON_BN_DOUBLECLICKED

ボタンをダブルクリックしたとき

CButton オブジェクトをダイアログ リソースから作成すると、ダイアログ ボックスを閉じたときに、CButton オブジェクトが自動的に破棄されます。

ウィンドウ内に CButton オブジェクトを作成したときは、オブジェクトを手動で破棄する必要があります。CButton オブジェクトを new 関数を使ってヒープ領域に作成した場合は、Windows のボタン コントロールを閉じたときにオブジェクトが破棄されるように、オブジェクトに対する delete 関数を呼び出す必要があります。CButton オブジェクトをスタック上に作成したとき、または CButton オブジェクトが親ダイアログに埋め込まれているときは、自動的に破棄されます。

必要条件

ヘッダー : afxwin.h

参照

参照

CWnd クラス

階層図

CWnd クラス

CComboBox クラス

CEdit クラス

CListBox クラス

CScrollBar クラス

CStatic クラス

CBitmapButton クラス

CDialog クラス

その他の技術情報

CButton のメンバ