ボタン スタイル

ボタン スタイルの組み合わせを指定します。 CreateWindow 関数または CreateWindowEx 関数で BUTTON クラスを使用してボタンを作成する場合は、以下に示す任意のボタン スタイルを指定できます。

HRESULT Button::CreateText(HWND hParent, const TCHAR *szCaption, int nID, 
                               const Rect& rcBound)
{
    CREATESTRUCT create;
	ZeroMemory(&create, sizeof(CREATESTRUCT));

    create.x = rcBound.left;
    create.y = rcBound.top;
    create.cx = rcBound.right - create.x;
    create.cy = rcBound.bottom - create.y;

    create.hwndParent = hParent;
    create.lpszName = szCaption;
    create.hMenu = (HMENU)(INT_PTR)nID;
    create.lpszClass = TEXT("BUTTON");
    create.style = BS_PUSHBUTTON | BS_FLAT;
    return Control::Create(create);
}

GitHub 上の Windows クラシック サンプルからの例。

定数

定数 説明
BS_3STATE
チェック ボックスと同じボタンを作成します。ただし、チェック ボックスはグレー表示またはクリアできます。 灰色の状態を使用して、チェック ボックスの状態が決定されていないことを示します。
BS_AUTO3STATE
3 つの状態のチェック ボックスと同じボタンを作成します。ただし、ユーザーが選択したときにボックスの状態が変更されます。 状態は、チェック、不確定、クリアの間を循環します。
BS_AUTOCHECKBOX
チェック ボックスと同じボタンを作成します。ただし、ユーザーが [チェック] ボックスを選択するたびに、チェックの状態が自動的にオンとオフの切り替えを行います。
BS_AUTORADIOBUTTON
ラジオ ボタンと同じボタンを作成します。ただし、ユーザーがボタンを選択すると、ボタンのチェック状態が自動的にオンに設定され、同じグループ内の他のすべてのボタンのチェック状態が自動的にオフに設定されます。
BS_BITMAP
ボタンにビットマップを表示することを指定します。 BS_ICONとの対話については、「解説」セクションを参照してください。
BS_BOTTOM
ボタンの四角形の下部にテキストを配置します。
BS_CENTER
ボタンの四角形内でテキストを水平方向に中央揃えで配置します。
BS_CHECKBOX
テキストを含む小さな空のチェック ボックスを作成します。 既定では、テキストは [チェック] ボックスの右側に表示されます。 チェック ボックスの左側にテキストを表示するには、このフラグをBS_LEFTTEXTスタイル (または同等のBS_RIGHTBUTTON スタイル) と組み合わせます。
BS_COMMANDLINK
BS_PUSHBUTTON スタイル ボタンのように動作するコマンド リンク ボタンを作成しますが、コマンド リンク ボタンの左側にはボタン テキストを指す緑色の矢印があります。 ボタン テキストのキャプションは、BCM_SETNOTE メッセージをボタンに送信することで設定できます。
BS_DEFCOMMANDLINK
BS_PUSHBUTTON スタイル ボタンのように動作するコマンド リンク ボタンを作成します。 ボタンがダイアログ ボックス内にある場合は、コマンド リンク ボタンに入力フォーカスがない場合でも、Enter キーを押してコマンド リンク ボタンを選択できます。 このスタイルは、ユーザーが最も可能性の高い (既定) オプションをすばやく選択できるようにするために役立ちます。
BS_DEFPUSHBUTTON
BS_PUSHBUTTON スタイル ボタンのように動作するが、外観が異なるプッシュ ボタンを作成します。 ボタンがダイアログ ボックス内にある場合、ユーザーは、ボタンに入力フォーカスがない場合でも、Enter キーを押してボタンを選択できます。 このスタイルは、ユーザーが最も可能性の高い (既定) オプションをすばやく選択できるようにするために役立ちます。
BS_DEFSPLITBUTTON
BS_PUSHBUTTON スタイル ボタンのように動作する分割ボタンを作成しますが、外観も独特です。 分割ボタンがダイアログ ボックス内にある場合、分割ボタンに入力フォーカスがない場合でも、Enter キーを押して分割ボタンを選択できます。 このスタイルは、ユーザーが最も可能性の高い (既定) オプションをすばやく選択できるようにするために役立ちます。
BS_GROUPBOX
他のコントロールをグループ化できる四角形を作成します。 このスタイルに関連付けられているテキストは、四角形の左上隅に表示されます。
BS_ICON
ボタンにアイコンを表示することを指定します。 BS_BITMAPとの対話については、「解説」セクションを参照してください。
BS_FLAT
ボタンが 2 次元であることを指定します。既定の網かけを使用して 3-D イメージを作成することはありません。
BS_LEFT
ボタンの四角形のテキストを左揃えにします。 ただし、ボタンがBS_RIGHTBUTTONスタイルを持たないチェック ボックスまたはラジオ ボタンの場合、テキストはチェック ボックスまたはラジオ ボタンの右側に揃えられます。
BS_LEFTTEXT
ラジオ ボタンまたはチェック ボックス スタイルと組み合わせると、ラジオ ボタンまたはチェック ボックスの左側にテキストを配置します。 BS_RIGHTBUTTON スタイルと同じです。
BS_MULTILINE
文字列が長すぎてボタンの四角形の内部に 1 行で収まらない場合は、ボタン テキストを複数行に折り返します。
BS_NOTIFY
ボタンを使用して、 BN_KILLFOCUS 通知コードと BN_SETFOCUS 通知コードを親ウィンドウに送信できるようにします。
ボタンは、このスタイルを持っているかどうかに関係なく、 BN_CLICKED 通知コードを送信します。 BN_DBLCLK通知コードを取得するには、ボタンにBS_RADIOBUTTONまたはBS_OWNERDRAWスタイルが必要です。
BS_OWNERDRAW
オーナー描画ボタンを作成します。 ボタンの視覚的な側面が変更されると、所有者ウィンドウに WM_DRAWITEM メッセージが表示されます。 BS_OWNERDRAW スタイルを他のボタン スタイルと組み合わせないでください。
BS_PUSHBUTTON
ユーザーがボタンを選択したときに 、WM_COMMAND メッセージを所有者ウィンドウに投稿するプッシュ ボタンを作成します。
BS_PUSHLIKE
ボタン (チェック ボックス、3 状態チェック ボックス、ラジオ ボタンなど) をプッシュ ボタンのように見せ、動作させます。 ボタンは、プッシュまたはチェックされていないときに発生し、プッシュまたはチェックされると沈んで見えます。
BS_RADIOBUTTON
テキストを含む小さな円を作成します。 既定では、テキストは円の右側に表示されます。 円の左側にテキストを表示するには、このフラグをBS_LEFTTEXTスタイル (または同等のBS_RIGHTBUTTON スタイル) と組み合わせます。 関連するが相互に排他的な選択肢のグループには、ラジオ ボタンを使用します。
BS_RIGHT
ボタンの四角形内のテキストを右揃えします。 ただし、ボタンがBS_RIGHTBUTTONスタイルを持たないチェック ボックスまたはラジオ ボタンの場合、テキストは チェック ボックスまたはラジオ ボタンの右側に右揃えになります。
BS_RIGHTBUTTON
ボタンの四角形の右側に、ラジオ ボタンの円またはチェック ボックスの四角形を配置します。 BS_LEFTTEXT スタイルと同じです。
BS_SPLITBUTTON
分割ボタンを作成します。 分割ボタンにはドロップダウン矢印があります。
BS_TEXT
ボタンにテキストを表示することを指定します。
BS_TOP
ボタンの四角形の上部にテキストを配置します。
BS_TYPEMASK
このスタイルは使用しないでください。 BS_* スタイル ビットで OR 演算子を使用した結果の複合スタイル ビット。 特定のビットマスクから有効なBS_* ビットをマスクするために使用できます。 これは古く、すべての有効なスタイルが正しく含まれていないことに注意してください。 したがって、このスタイルは使用しないでください。
BS_USERBUTTON
現在では使用されていないスタイルですが、16 ビット バージョンの Windows との下位互換性のために残されています。 アプリケーションでは、代わりに BS_OWNERDRAW を使用する必要があります。
BS_VCENTER
ボタンの四角形の中央 (垂直方向) にテキストを配置します。

注釈

BS_CHECKBOXやBS_GROUPBOXなどの主要なボタン スタイルの図については、「 ボタンの種類」を参照してください。

ボタン コントロールのテキストまたはアイコン、またはその両方の外観は、BS_ICONスタイルとBS_BITMAPスタイル、および BM_SETIMAGE メッセージが送信されるかどうかによって異なります。 可能な結果は次のとおりです。

BS_ICONまたはBS_BITMAPセットですか? BM_SETIMAGE呼び出されますか? 結果
はい はい アイコンのみを表示します。
いいえ はい アイコンとテキストを表示します。
はい いいえ テキストのみを表示します。
いいえ いいえ テキストのみを表示する

要件

要件
ヘッダー
Winuser.h