ボタンの種類
同じ種類のボタンを区別するために、複数の種類のボタンと 1 つ以上のボタン スタイルがあります。
このドキュメントでは、次のトピックについて説明します。
ボタンの種類とスタイル
ボタンは型に属しており、その外観と動作に影響を与える追加のスタイルがある場合があります。 ボタン スタイルの表については、「ボタン スタイルの 」を参照してください。
次のスクリーン ショットは、さまざまな種類のボタンを示しています。
スクリーン ショットは、Windows Vista でのボタンの表示方法を示しています。 外観は、オペレーティング システムのバージョンによって、ユーザーが設定したテーマによって異なります。
図に関する次の点に注意してください。
- 3 つの状態のチェック ボックスが不確定状態で表示されます。 オンまたはオフにすると、通常のチェック ボックスのようになります。
- 大きなプッシュ ボタンは、(BM_SETSTATE メッセージを送信することによって) プログラムによってプッシュ状態に設定されているため、クリックされていない場合でも外観が保持されます。
- 表示されている表示スタイルでは、既定のプッシュ ボタン (または入力フォーカスを持つ別のプッシュ ボタン) の背景が青と灰色の間を循環します。
チェック ボックス
チェック ボックス は、四角形のボックスと、ボタンを選択してユーザーが選択できることを示すアプリケーション定義のラベル、アイコン、またはビットマップで構成されます。 通常、アプリケーションにはチェック ボックスが表示され、ユーザーは相互に排他的ではない 1 つ以上のオプションを選択できます。
チェック ボックスには、BS_CHECKBOX、BS_AUTOCHECKBOX、BS_3STATE、および BS_AUTO3STATEの各定数で定義されている、標準、自動、3 状態、自動の 3 状態の 4 つのスタイルのいずれかを指定できます。 各スタイルは、チェック (ボックス内のチェック マーク) またはオフ (チェック マークなし) の 2 つのチェック状態を想定できます。 さらに、3 状態のチェック ボックスは、不確定な状態 (チェック ボックス内の網掛けされたボックス) を想定できます。これは、ユーザーが選択を行っていないことを示している可能性があります。 標準チェック ボックスまたは自動チェック ボックスを繰り返しクリックすると、チェック ボックスがオンからオフに切り替わります。 3 状態のチェック ボックスを繰り返しクリックすると、チェック ボックスをオンからオフに切り替えて不確定に切り替え、サイクルを繰り返します。
ユーザーが (任意のスタイルの) チェック ボックスをクリックすると、チェック ボックスはキーボード フォーカスを受け取ります。 システムは、チェック ボックスの親ウィンドウに、BN_CLICKED 通知コードを含む WM_COMMAND メッセージを送信します。 親ウィンドウは、自動チェック ボックスまたは自動 3 状態チェック ボックスからのメッセージを処理する必要はありません。これらのスタイルのチェック状態が自動的に設定されるためです。 ただし、親ウィンドウは、非自動チェック ボックスまたは 3 状態チェック ボックスからのメッセージを処理する必要があります。これは、親ウィンドウがそれらのスタイルのチェック状態を設定するためです。 チェック ボックスのスタイルに関係なく、状態が変更されると、チェック ボックスが自動的に再描画されます。
アプリケーションは、IsDlgButtonChecked 関数を使用して、チェック ボックスの状態を確認できます。
グループ ボックス
グループ ボックス は、チェック ボックスやラジオ ボタンなどのコントロールのセットを囲む四角形で、左上隅にアプリケーション定義のテキスト ラベルが付いています。 グループ ボックスの唯一の目的は、共通の目的 (通常はラベルで示される) に関連するコントロールを整理することです。 グループ ボックスには、定数 BS_GROUPBOXによって定義されたスタイルが 1 つだけ含まれます。 グループ ボックスは選択できないため、チェック状態、フォーカス状態、プッシュ状態はありません。
プッシュ ボタン
プッシュ ボタン は、アプリケーション定義のテキスト ラベル、アイコン、またはユーザーがボタンを選択したときの動作を示すビットマップを含む四角形です。
プッシュ ボタンには、定数 BS_PUSHBUTTON と BS_DEFPUSHBUTTONで定義されている標準または既定の 2 つのスタイルのいずれかを指定できます。 通常、標準のプッシュ ボタンを使用して操作を開始します。 ユーザーがキーボード フォーカスをクリックすると、キーボード フォーカスを受け取ります。 通常、既定のプッシュ ボタンは、ダイアログ ボックスを閉じるなど、最も一般的な選択または既定の選択肢を示すために使用されます。 これは、ダイアログ ボックス内の他のプッシュ ボタンに入力フォーカスがない場合に Enter キーを押すだけで選択できるボタンです。
ユーザーがプッシュ ボタンをクリックすると、キーボード フォーカスを受け取ります。 システムは、ボタンの親ウィンドウに、BN_CLICKED 通知コードを含む WM_COMMAND メッセージを送信します。
分割ボタン は、Windows Vista および バージョン 6.00で導入された特殊な種類のプッシュ ボタンです。 分割ボタンは 2 つの部分に分かれています。 メイン パーツは、通常のプッシュ ボタンや既定のプッシュ ボタンのように機能します。 2 番目の部分には、下向きの矢印があります。 通常、矢印をクリックするとメニューが表示されます。
分割ボタンには、BS_SPLITBUTTON スタイル、またはダイアログ ボックスの既定のボタンである場合は BS_DEFSPLITBUTTON スタイルがあります。 BCM_SETSPLITINFO メッセージまたは対応する Button_SetSplitInfo マクロを使用して、ボタンの外観を変更できます。
ユーザーが分割ボタンのメイン部分をクリックすると、通常のプッシュ ボタンと同様に BN_CLICKED 通知が送信されます。 ただし、ユーザーが下矢印をクリックすると、BCN_DROPDOWN 通知が送信されます。 BCN_DROPDOWNに応答してメニューを表示するのはアプリケーションの責任です。
Windows Vista および バージョン 6.00 では、別の種類のプッシュ ボタンも導入されました。コマンド リンク。 視覚的には、コマンド リンクは通常のプッシュ ボタンとは大きく異なりますが、同じ機能を備えています。 コマンド リンクには、通常、矢印アイコン、テキスト行、追加のテキストが小さいフォントで表示されます。
ラジオ ボタン
ラジオ ボタン (オプション ボタンとも呼ばれます) は、丸いボタンと、ユーザーがボタンを選択して選択できることを示すアプリケーション定義のラベル、アイコン、またはビットマップで構成されます。 通常、アプリケーションはグループ ボックス内のラジオ ボタンを使用して、関連するが相互に排他的なオプションのセットのいずれかをユーザーが選択できるようにします。
ラジオ ボタンには、BS_RADIOBUTTON スタイル定数と BS_AUTORADIOBUTTONで定義されている標準または自動の 2 つのスタイルのいずれかを指定できます。 各スタイルは、チェック (ボタン内のドット) またはクリア (ボタンにドットなし) の 2 つのチェック状態を想定できます。
ユーザーがいずれかの状態を選択すると、ラジオ ボタンはキーボード フォーカスを受け取ります。 システムは、ボタンの親ウィンドウに、BN_CLICKED 通知コードを含む WM_COMMAND メッセージを送信します。 自動ラジオ ボタンから送信された場合、親ウィンドウはこのメッセージを処理する必要はありません。これは、システムによってそのスタイルのチェック状態が自動的に設定されるためです。 ただし、親ウィンドウは、そのスタイルのチェック状態を設定する役割を担うため、自動以外のラジオ ボタンからのメッセージの場合は、親ウィンドウで処理する必要があります。 ラジオ ボタンのスタイルに関係なく、状態が変わると、自動的にボタンが再描画されます。
ラジオ ボタンはグループに配置され、グループ内の 1 つのボタンのみをいつでも確認できます。 WS_GROUP フラグが任意のラジオ ボタンに設定されている場合、そのボタンはグループの最初のボタンであり、タブ オーダーですぐに続くすべてのボタン (ただし、それ自体には WS_GROUP フラグがありません) はそのグループの一部です。 WS_GROUP フラグを持つラジオ ボタンがない場合、ダイアログ ボックス内のすべてのラジオ ボタンは 1 つのグループとして扱われます。
アプリケーションは、IsDlgButtonChecked 関数を使用して、ラジオ ボタンがチェックされているかどうかを確認できます。
関連トピック