ボタンの種類

同じ種類のボタンを区別するために、複数の種類のボタンと 1 つ以上のボタン スタイルがあります。

このドキュメントでは、次のトピックについて説明します。

ボタンの種類とスタイル

ボタンは型に属しており、その外観と動作に影響を与える追加のスタイルを持つ場合があります。 ボタン スタイルの表については、「 ボタン のスタイル」を参照してください。

次のスクリーン ショットは、さまざまな種類のボタンを示しています。

screen shot of a dialog box that shows examples of eight types of buttons

スクリーン ショットは、Vista でボタンがどのように表示されるかWindows示しています。 外観は、オペレーティング システムのバージョンによって異なり、ユーザーによって設定されたテーマによって異なります。

図に関する次の点に注意してください。

  • 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 では、別の種類のプッシュ ボタンであるコマンド リンクも導入されました。 視覚的には、コマンド リンクは通常のプッシュ ボタンとは大きく異なりますが、同じ機能を備えています。 コマンド リンクには、通常、矢印アイコン、テキスト行、追加のテキストが小さいフォントで表示されます。

ラジオ ボタン

ラジオ ボタン (オプション ボタンとも呼ばれます) は、丸いボタンと、ボタンを選択してユーザーが選択できる選択を示すアプリケーション定義のラベル、アイコン、またはビットマップで構成されます。 通常、アプリケーションはグループ ボックスのラジオ ボタンを使用して、関連するが相互に排他的なオプションのセットのいずれかをユーザーが選択できるようにします。

ラジオ ボタンには、標準または自動の 2 つのスタイルのいずれかを指定できます。スタイル定数 BS_RADIOBUTTONBS_AUTORADIOBUTTONで定義されます。 各スタイルは、チェック状態 (ボタンのドット) またはクリア (ボタンにドットなし) の 2 つのチェック状態を想定できます。

ユーザーがいずれかの状態を選択すると、ラジオ ボタンはキーボード フォーカスを受け取ります。 システムは、ボタンの親ウィンドウに 、BN_CLICKED 通知コードを含む WM_COMMAND メッセージを送信します。 自動ラジオ ボタンから送信された場合、親ウィンドウはこのメッセージを処理する必要はありません。これは、システムによってそのスタイルのチェック状態が自動的に設定されるためです。 ただし、親ウィンドウは、そのスタイルのチェック状態を設定する役割を担うため、自動以外のラジオ ボタンから送信された場合は、親ウィンドウでメッセージを処理する必要があります。 ラジオ ボタンのスタイルに関係なく、状態が変わると、ボタンが自動的に再描画されます。

ラジオ ボタンはグループに配置され、グループ内の 1 つのボタンのみをいつでもチェックできます。 WS_GROUP フラグが任意のラジオ ボタンに設定されている場合、そのボタンはグループ内の最初のボタンであり、タブ オーダーですぐに続くすべてのボタン (ただし、それ自体にはWS_GROUP フラグがありません) はそのグループの一部です。 WS_GROUP フラグを持つラジオ ボタンがない場合、ダイアログ ボックス内のすべてのラジオ ボタンは 1 つのグループとして扱われます。

アプリケーションでは、 IsDlgButtonChecked 関数を使用してラジオ ボタンがチェックされているかどうかを確認できます。

リファレンス

ボタンのスタイル

概念

ボタンの使用