ボタン (Windows コントロール)

このセクションでは、ボタン コントロールで使用されるプログラミング要素について説明します。 ボタンは、ユーザーがクリックすることでアプリケーションに入力を提供できるコントロールです。

概要

トピック 内容
ボタン メッセージ このトピックでは、ボタンで使用されるメッセージについて説明します。
Button の状態 このセクションでは、ボタンの選択によって状態がどのように変わるかと、アプリケーションでどのように応答するべきかについて説明します。
ボタンの種類 このトピックでは、さまざまな種類のボタンについて説明します。
ボタンの使用 このセクションでは、ボタンに関連付けられている特定のタスクを実行する方法について説明します。

関数

トピック 内容
CheckDlgButton ボタン コントロールのチェック状態を変更します。
CheckRadioButton グループ内の指定されたラジオ ボタンにチェック マークを追加 (チェック) し、グループ内の他のすべてのラジオ ボタンからチェック マークを削除 (クリア) します。
IsDlgButtonChecked IsDlgButtonChecked 関数は、ボタン コントロールがチェックされているかどうか、または 3 状態ボタン コントロールがチェックされているのか、チェック解除されているのか、または未確定なのかを判別します。

マクロ

トピック 内容
Button_Enable ボタンを有効または無効にします。
Button_GetCheck ラジオ ボタンまたはチェック ボックスのチェック状態を取得します。 このマクロを使用するか、BM_GETCHECK メッセージを明示的に送信します。
Button_GetIdealSize 画像リストが存在する場合に、テキストと画像に最適なボタンのサイズを取得します。 このマクロを使用するか、BCM_GETIDEALSIZE メッセージを明示的に送信します。
Button_GetImageList ボタン コントロールに対して設定された画像リストを記述する BUTTON_IMAGELIST 構造体を取得します。 このマクロを使用するか、BCM_GETIMAGELIST メッセージを明示的に送信します。
Button_GetNote コマンド リンク ボタンに関連付けられているメモのテキストを取得します。 このマクロを使用するか、BCM_GETNOTE メッセージを明示的に送信します。
Button_GetNoteLength コマンド リンクの説明に表示されるメモ テキストの長さを取得します。 このマクロを使用するか、BCM_GETNOTELENGTH メッセージを明示的に送信します。
Button_GetSplitInfo 指定された分割ボタン コントロールの情報を取得します。 このマクロを使用するか、BCM_GETSPLITINFO メッセージを明示的に送信します。
Button_GetState ラジオ ボタンまたはチェック ボックスのチェック状態を取得します。 このマクロを使用するか、BM_GETSTATE メッセージを明示的に送信します。
Button_GetText ボタンのテキストを取得します。
Button_GetTextLength ボタンのテキスト内の文字数を取得します。
Button_GetTextMargin ボタン コントロールにテキストを描画するために使用する余白を取得します。 このマクロを使用するか、BCM_GETTEXTMARGIN メッセージを明示的に送信します。
Button_SetCheck ラジオ ボタンまたはチェック ボックスのチェック状態を設定します。 このマクロを使用するか、BM_SETCHECK メッセージを明示的に送信します。
Button_SetDropDownState BS_SPLITBUTTON スタイルが設定されている、指定されたボタンのドロップダウン状態を設定します。 このマクロを使用するか、BCM_SETDROPDOWNSTATE メッセージを明示的に送信します。
Button_SetElevationRequiredState 浮き出たアイコンを表示するために、指定されたボタンまたはコマンド リンクのエレベーション必須状態を設定します。 このマクロを使用するか、BCM_SETSHIELD メッセージを明示的に送信します。
Button_SetImageList ボタン コントロールに画像リストを割り当てます。 このマクロを使用するか、BCM_SETIMAGELIST メッセージを明示的に送信します。
Button_SetNote 指定されたコマンド リンク ボタンに関連付けられているメモのテキストを設定します。 このマクロを使用するか、BCM_SETNOTE メッセージを明示的に送信します。
Button_SetSplitInfo 指定された分割ボタン コントロールの情報を設定します。 このマクロを使用するか、BCM_SETSPLITINFO メッセージを明示的に送信します。
Button_SetState ボタンの強調表示状態を設定します。 強調表示状態は、ユーザーがボタンを押したかのようにボタンが強調表示されているかどうかを示します。 このマクロを使用するか、BM_SETSTATE メッセージを明示的に送信します。
Button_SetStyle ボタンのスタイルを設定します。 このマクロを使用するか、BM_SETSTYLE メッセージを明示的に送信します。
Button_SetText ボタンのテキストを設定します。
Button_SetTextMargin ボタン コントロール内のテキストを描画するための余白を設定します。 このマクロを使用するか、BCM_SETTEXTMARGIN メッセージを明示的に送信します。

[メッセージ]

トピック 内容
BCM_GETIDEALSIZE 画像リストが存在する場合に、テキストと画像に最適なボタンのサイズを取得します。 このメッセージを明示的に送信するか、Button_GetIdealSize マクロを使用します。
BCM_GETIMAGELIST ボタン コントロールに割り当てられた画像リストを記述する BUTTON_IMAGELIST 構造体を取得します。 このメッセージを明示的に送信するか、Button_GetImageList マクロを使用します。
BCM_GETNOTE コマンド リンク ボタンに関連付けられているメモのテキストを取得します。 このメッセージを明示的に送信するか、Button_GetNote マクロを使用します。
BCM_GETNOTELENGTH コマンド リンク ボタンの説明に表示されるメモ テキストの長さを取得します。 このメッセージを明示的に送信するか、Button_GetNoteLength マクロを使用します。
BCM_GETSPLITINFO 分割ボタン コントロールの情報を取得します。 このメッセージを明示的に送信するか、Button_GetSplitInfo マクロを使用します。
BCM_GETTEXTMARGIN ボタン コントロールにテキストを描画するために使用する余白を取得します。 このメッセージを明示的に送信するか、Button_GetTextMargin マクロを使用します。
BCM_SETDROPDOWNSTATE TBSTYLE_DROPDOWN スタイルが設定されたボタンのドロップダウン状態を設定します。 このメッセージを明示的に送信するか、Button_SetDropDownState マクロを使用します。
BCM_SETIMAGELIST ボタン コントロールに画像リストを割り当てます。 このメッセージを明示的に送信するか、Button_SetImageList マクロを使用します。
BCM_SETNOTE コマンド リンク ボタンに関連付けられているメモのテキストを設定します。 このメッセージを明示的に送信するか、Button_SetNote マクロを使用します。
BCM_SETSHIELD 浮き出たアイコンを表示するために、指定されたボタンまたはコマンド リンクのエレベーション必須状態を設定します。 このメッセージを明示的に送信するか、Button_SetElevationRequiredState マクロを使用します。
BCM_SETSPLITINFO 分割ボタン コントロールの情報を設定します。 このメッセージを明示的に送信するか、Button_SetSplitInfo マクロを使用します。
BCM_SETTEXTMARGIN BCM_SETTEXTMARGIN メッセージは、ボタン コントロール内にテキストを描画するための余白を設定します。
BM_CLICK ボタンをクリックするユーザーをシミュレートします。 このメッセージにより、ボタンは WM_LBUTTONDOWN メッセージと WM_LBUTTONUP メッセージを受信し、ボタンの親ウィンドウは BN_CLICKED 通知コードを受信します。
BM_GETCHECK ラジオ ボタンまたはチェック ボックスのチェック状態を取得します。 このメッセージを明示的に送信するか、Button_GetCheck マクロを使用します。
BM_GETIMAGE ボタンに関連付けられている画像 (アイコンまたはビットマップ) のハンドルを取得します。
BM_GETSTATE ボタンまたはチェック ボックスの状態を取得します。 このメッセージを明示的に送信するか、Button_GetState マクロを使用します。
BM_SETCHECK ラジオ ボタンまたはチェック ボックスのチェック状態を設定します。 このメッセージを明示的に送信するか、Button_SetCheck マクロを使用します。
BM_SETDONTCLICK ボタンがフォーカスを取得したときに、BN_CLICKED メッセージの生成を制御するフラグをラジオ ボタンに設定します。
BM_SETIMAGE 新しい画像 (アイコンまたはビットマップ) をボタンに関連付けます。
BM_SETSTATE ボタンの強調表示状態を設定します。 強調表示状態は、ユーザーがボタンを押したかのようにボタンが強調表示されているかどうかを示します。 このメッセージを明示的に送信するか、Button_SetState マクロを使用します。
BM_SETSTYLE ボタンのスタイルを設定します。 このメッセージは明示的に送信することも、Button_SetStyle マクロを使用することもできます。

通知

トピック 内容
BCN_DROPDOWN ユーザーがボタンのドロップダウン矢印をクリックしたときに送信されます。 このコントロールの親ウィンドウは、この通知コードを WM_NOTIFY メッセージの形式で受信します。
BCN_HOTITEMCHANGE マウスがボタン コントロールのクライアント領域に入ったか、または出たことを、ボタン コントロールのオーナーに通知します。 ボタン コントロールは、この通知コードを WM_NOTIFY メッセージの形式で送信します。
BN_CLICKED ユーザーがボタンをクリックしたときに送信されます。
このボタンの親ウィンドウは、WM_COMMAND メッセージを通じて BN_CLICKED 通知コードを受信します。
BN_DBLCLK ユーザーがボタンをダブルクリックしたときに送信されます。 この通知コードは、BS_USERBUTTONBS_RADIOBUTTON、および BS_OWNERDRAW ボタンに対して自動的に送信されます。 他の種類のボタンは、BS_NOTIFY スタイルが設定されている場合にのみ、BN_DBLCLK を送信します。
このボタンの親ウィンドウは、WM_COMMAND メッセージを通じて BN_DBLCLK 通知コードを受信します。
BN_DISABLE ボタンが無効になったときに送信されます。 注: この通知コードは、バージョン 3.0 より前の 16 ビット版 Windows との互換性のためにのみ提供されています。 アプリケーションでは、このタスクに BS_OWNERDRAW ボタン スタイルと DRAWITEMSTRUCT 構造体を使用する必要があります。
このボタンの親ウィンドウは、WM_COMMAND メッセージを通じて BN_DISABLE 通知コードを受信します。
BN_DOUBLECLICKED ユーザーがボタンをダブルクリックしたときに送信されます。 BS_USERBUTTONBS_RADIOBUTTONBS_OWNERDRAW ボタンに関しては、この通知コードは自動的に送信されます。 他の種類のボタンは、BS_NOTIFY スタイルが設定されている場合にのみ、BN_DOUBLECLICKED を送信します。
このボタンの親ウィンドウは、WM_COMMAND メッセージを通じて BN_DOUBLECLICKED 通知コードを受信します。
BN_HILITE ユーザーがボタンを選択したときに送信されます。 注: この通知コードは、バージョン 3.0 より前の 16 ビット版 Windows との互換性のためにのみ提供されています。 アプリケーションでは、このタスクに BS_OWNERDRAW ボタン スタイルと DRAWITEMSTRUCT 構造体を使用する必要があります。
このボタンの親ウィンドウは、WM_COMMAND メッセージを通じて BN_HILITE 通知コードを受信します。
BN_KILLFOCUS ボタンがキーボード フォーカスを失ったときに送信されます。 この通知コードを送信するには、ボタンに BS_NOTIFY スタイルが必要です。
このボタンの親ウィンドウは、WM_COMMAND メッセージを通じて BN_KILLFOCUS 通知コードを受信します。
BN_PAINT ボタンをペイントする必要がある場合に送信されます。 注: この通知コードは、バージョン 3.0 より前の 16 ビット版 Windows との互換性のためにのみ提供されています。 アプリケーションでは、このタスクに BS_OWNERDRAW ボタン スタイルと DRAWITEMSTRUCT 構造体を使用する必要があります。
このボタンの親ウィンドウは、WM_COMMAND メッセージを通じて BN_PAINT 通知コードを受信します。
BN_PUSHED ボタンのプッシュ状態がプッシュ済みに設定されたときに送信されます。 注: この通知コードは、バージョン 3.0 より前の 16 ビット版 Windows との互換性のためにのみ提供されています。 アプリケーションでは、このタスクに BS_OWNERDRAW ボタン スタイルと DRAWITEMSTRUCT 構造体を使用する必要があります。
このボタンの親ウィンドウは、WM_COMMAND メッセージを通じて BN_PUSHED 通知コードを受信します。
BN_SETFOCUS ボタンがキーボード フォーカスを受け取ったときに送信されます。 この通知コードを送信するには、ボタンに BS_NOTIFY スタイルが必要です。
このボタンの親ウィンドウは、WM_COMMAND メッセージを通じて BN_SETFOCUS 通知コードを受信します。
BN_UNHILITE 強調表示をボタンから削除する必要があるときに送信されます。 注: この通知コードは、バージョン 3.0 より前の 16 ビット版 Windows との互換性のためにのみ提供されています。 アプリケーションでは、このタスクに BS_OWNERDRAW ボタン スタイルと DRAWITEMSTRUCT 構造体を使用する必要があります。
このボタンの親ウィンドウは、WM_COMMAND メッセージを通じて BN_UNHILITE 通知コードを受信します。
BN_UNPUSHED ボタンのプッシュ状態がプッシュ解除に設定されたときに送信されます。 注: この通知コードは、バージョン 3.0 より前の 16 ビット版 Windows との互換性のためにのみ提供されています。 アプリケーションでは、このタスクに BS_OWNERDRAW ボタン スタイルと DRAWITEMSTRUCT 構造体を使用する必要があります。
このボタンの親ウィンドウは、WM_COMMAND メッセージを通じて BN_UNPUSHED 通知コードを受信します。
NM_CUSTOMDRAW (ボタン) ボタン コントロールの親ウィンドウに、ボタンでのカスタム描画操作について通知します。
ボタン コントロールは、この通知コードを WM_NOTIFY メッセージの形式で送信します。
WM_CTLCOLORBTN ボタンを描画する前に、ボタンの親ウィンドウに WM_CTLCOLORBTN メッセージが送信されます。 親ウィンドウでは、ボタンのテキストと背景色を変更できます。 ただし、このメッセージを処理する親ウィンドウに応答するのは、所有者描画ボタンのみです。

構造体

トピック 内容
BUTTON_IMAGELIST ボタン コントロールで使用されている画像リストに関する情報が含まれます。
BUTTON_SPLITINFO 分割ボタンを定義する情報 (BS_SPLITBUTTON スタイルと BS_DEFSPLITBUTTON スタイル) が含まれます。 BCM_GETSPLITINFO メッセージおよび BCM_SETSPLITINFO メッセージと共に使用されます。
NMBCDROPDOWN BCN_DROPDOWN 通知に関する情報が含まれます。
NMBCHOTITEM ボタン コントロール上でのマウスの動きに関する情報が含まれます。

定数

トピック 内容
ボタン スタイル ボタン スタイルの組み合わせを指定します。 BUTTON クラスを使用するボタンを、CreateWindow 関数または CreateWindowEx 関数で作成する場合は、以下の一覧に示したボタン スタイルのいずれかを指定できます。