MFC で使用するスタイル

対応する MFC オブジェクトを作成するときに、ウィンドウまたはコントロールの外観と動作を指定するには、次のスタイル フラグを使用します。 ほとんどの場合、これらのスタイルはクラス Create 関数の dwStyle パラメーターで設定されます。

ボタン スタイル

ボタン スタイルは、ラジオ ボタン、チェック ボックス、押しボタンなどの CButton Class オブジェクトに適用されます。 CButton::CreatedwStyle パラメーターでスタイルの組み合わせを指定します。 Windows のボタン スタイルの詳細については、「 Button Styles (Windows)」を参照してください。

ボタンの種類

次の表は、ボタンの種類の一覧です。 次のいずれかを必要に応じて選択できます。 ボタンの種類を指定しない場合、既定値は BS_PUSHBUTTON です。

説明
BS_3STATE BST_CHECKEDBST_INDETERMINATEBST_UNCHECKEDの 3 つの状態を持つチェック ボックス ボタンを作成します。 ボタンをクリックすると、 BN_CLICKED 通知が所有者ウィンドウに送信されますが、ボタンの状態は変更されません。 既定では、関連付けられたテキストはチェック ボックスの右側に表示されます。 チェック ボックスの左側にテキストを表示するには、 BS_LEFTTEXT または BS_RIGHTBUTTON スタイルを使用します。
BS_AUTO3STATE BST_CHECKEDBST_INDETERMINATEBST_UNCHECKEDの 3 つの状態を持つチェック ボックス ボタンを作成します。 ボタンをクリックすると、 BN_CLICKED 通知が所有者ウィンドウに送信され、ボタンの状態が変更されます。 ボタンの状態は、 BST_CHECKEDBST_INDETERMINATE、および BST_UNCHECKEDの順序で循環します。 既定では、関連付けられたテキストはチェック ボックスの右側に表示されます。 チェック ボックスの左側にテキストを表示するには、 BS_LEFTTEXT または BS_RIGHTBUTTON スタイルを使用します。
BS_AUTOCHECKBOX BST_CHECKEDBST_UNCHECKEDの 2 つの状態を持つチェック ボックス ボタンを作成します。 ボタンをクリックすると、 BN_CLICKED 通知が所有者ウィンドウに送信され、ボタンの状態が変更されます。 既定では、関連付けられたテキストはチェック ボックスの右側に表示されます。 チェック ボックスの左側にテキストを表示するには、 BS_LEFTTEXT または BS_RIGHTBUTTON スタイルを使用します。
BS_AUTORADIOBUTTON BST_CHECKEDBST_UNCHECKEDの 2 つの状態を持つラジオ ボタンを作成します。 通常、オプション ボタンはグループで使用します。各グループで一度に選択できるオプションは 1 つだけです。 ボタンをクリックすると、 BN_CLICKED 通知が所有者ウィンドウに送信され、クリックされたラジオ ボタンの状態が BST_CHECKEDに設定され、ボタン グループ内の他のすべてのラジオ ボタンの状態が BST_UNCHECKEDに設定されます。 既定では、関連付けられたテキストはオプション ボタンの右側に表示されます。 ラジオ ボタンの左側にテキストを表示するには、 BS_LEFTTEXT または BS_RIGHTBUTTON スタイルを使用します。
BS_CHECKBOX BST_CHECKEDBST_UNCHECKEDの 2 つの状態を持つチェック ボックス ボタンを作成します。 ボタンをクリックすると、 BN_CLICKED 通知が所有者ウィンドウに送信されますが、ボタンの状態は変更されません。 既定では、関連付けられたテキストはチェック ボックスの右側に表示されます。 チェック ボックスの左側にテキストを表示するには、 BS_LEFTTEXT または BS_RIGHTBUTTON スタイルを使用します。
BS_COMMANDLINK コマンド リンク ボタンを作成します。 コマンド リンク ボタンは、Windows Vista に固有のコマンド ボタンで、メイン テキストの左側に緑色の矢印が表示され、メイン テキストの下にメモが表示されます。 ノート テキストは、 CButton::SetNoteを使用して設定できます。
BS_DEFCOMMANDLINK コマンド リンク ボタンを作成します。 コマンド リンク ボタンは、Windows Vista に固有のコマンド ボタンで、メイン テキストの左側に緑色の矢印が表示され、メイン テキストの下にメモが表示されます。 ノート テキストは、 CButton::SetNoteを使用して設定できます。 ボタンがダイアログ ボックス内にある場合、Enter キーを押すと、ボタンに入力フォーカスがない場合でも、 BN_CLICKED 通知がダイアログ ボックスに送信されます。
BS_DEFPUSHBUTTON 境界線が黒くて太いコマンド ボタンを作成します。 ボタンがダイアログ ボックス内にある場合、Enter キーを押すと、ボタンに入力フォーカスがない場合でも、 BN_CLICKED 通知がダイアログ ボックスに送信されます。
BS_DEFSPLITBUTTON 分割ボタンを作成します。 分割ボタンは、Windows Vista に固有のコマンド ボタンで、ドロップダウン矢印に隣接するボタンが含まれています。 ボタンをクリックすると、既定のコマンドが実行されます。 ドロップダウン矢印をクリックすると、追加のコマンドのメニューが表示されます。 分割ボタンがダイアログ ボックス内にある場合、Enter キーを押すと、ボタンに入力フォーカスがない場合でも、 BN_CLICKED 通知がダイアログ ボックスに送信されます
BS_GROUPBOX 他のボタンをグループ化する四角形を作成します。 このスタイルに関連付けられたテキストは、この四角形の左上隅に表示されます。
BS_OWNERDRAW オーナー描画ボタンを作成します。 ボタンの外観が変更されると、フレームワークは DrawItem メソッドを呼び出します。 CBitmapButton クラスを使用するときは、このスタイルを設定する必要があります。
BS_PUSHBUTTON ユーザーがボタンをクリックしたときに、 BN_CLICKED 通知を所有者ウィンドウに送信するコマンド ボタンを作成します。
BS_RADIOBUTTON BST_CHECKEDBST_UNCHECKEDの 2 つの状態を持つラジオ ボタンを作成します。 通常、オプション ボタンはグループで使用します。各グループで一度に選択できるオプションは 1 つだけです。 ボタンをクリックすると、 BN_CLICKED 通知が所有者ウィンドウに送信されますが、グループ内のボタンの状態は自動的には変更されません。 既定では、関連付けられたテキストはオプション ボタンの右側に表示されます。 ラジオ ボタンの左側にテキストを表示するには、 BS_LEFTTEXT または BS_RIGHTBUTTON スタイルを使用します。
BS_SPLITBUTTON 分割ボタンを作成します。 分割ボタンは、Windows Vista に固有のコマンド ボタンで、ドロップダウン矢印に隣接するボタンが含まれています。 ボタンをクリックすると、既定のコマンドが実行されます。 ドロップダウン矢印をクリックすると、追加のコマンドのメニューが表示されます。
BS_USERBUTTON 現在では使用されていないスタイルですが、16 ビット バージョンの Windows との下位互換性のために残されています。 Win32 ベースのアプリケーションでは、代わりに BS_OWNERDRAW を使用する必要があります。

ラジオ ボタンとチェック ボックスのスタイル

次の表は、オプション ボタンとチェック ボックスに固有のスタイルの一覧です。 これらのスタイルは、オプション ボタンおよびチェック ボックス以外のボタンの種類では無視されます。 次の中から 1 つ以上を必要に応じて選択できます。

Style 説明
BS_LEFTTEXT オプション ボタンまたはチェック ボックスのスタイルと組み合わせて指定すると、オプション ボタンまたはチェック ボックスの左側にテキストが表示されます。
BS_RIGHTBUTTON オプション ボタンまたはチェック ボックスのスタイルと組み合わせて指定すると、オプション ボタンまたはチェック ボックスの左側にテキストが表示されます。 このスタイルは、 BS_LEFTTEXT スタイルと同じです。
BS_PUSHLIKE チェック ボックスまたはオプション ボタンの外観と動作をコマンド ボタンのようにします。 状態が BST_CHECKEDされるとボタンが押され、状態が BST_INDETERMINATEされると押されて淡色表示され、状態が BST_UNCHECKEDされると離されます。

ボタン テキストの配置スタイル

次の表は、水平方向と垂直方向のテキストの配置オプションの一覧です。 次のいずれかを必要に応じて選択できます。

Style 説明
BS_LEFT ボタンの四角形の内部にテキストを左寄せで配置します。 ただし、ボタンが BS_RIGHTBUTTON スタイルを持たないチェック ボックスまたはラジオ ボタンの場合、テキストはチェック ボックスまたはラジオ ボタンの右側に左揃えになります。
BS_RIGHT ボタンの四角形の内部にテキストを右寄せで配置します。 ただし、ボタンが BS_RIGHTBUTTON スタイルを持たないチェック ボックスまたはラジオ ボタンの場合、テキストはチェック ボックスまたはラジオ ボタンの右側に右揃えになります。
BS_CENTER ボタンの四角形内でテキストを水平方向に中央揃えで配置します。
BS_TOP ボタンの四角形の上部にテキストを配置します。
BS_BOTTOM ボタンの四角形の下部にテキストを配置します。
BS_VCENTER ボタンの四角形内でテキストを垂直方向に中央揃えで配置します。

ボタンのコンテンツ オプション

次の表は、ボタンに表示する内容を指定するオプションの一覧です。 テキストしか表示されないボタンの種類では、これらのスタイルは無視されます。 次のいずれかを必要に応じて選択できます。

Style 説明
BS_BITMAP ボタンにビットマップを表示することを指定します。
BS_ICON ボタンにアイコンを表示することを指定します。
BS_TEXT ボタンにテキストを表示することを指定します。

その他のボタン オプション

次の表は、任意のボタンの種類で使用できるその他のオプションの一覧です。 次の中から 1 つ以上を必要に応じて選択できます。

Style 説明
BS_FLAT ボタンが 2 次元であり、3 次元イメージを作成するための既定の網かけは描画しないように指定します。
BS_MULTILINE 文字列が長すぎてボタンの四角形の内部に 1 行で収まらない場合は、ボタン テキストを複数行に折り返します。
BS_NOTIFY ボタンが BN_DBLCLKBN_KILLFOCUS、および BN_SETFOCUS 通知メッセージを親ウィンドウに送信できるようにします。 ボタンは、このスタイルが指定されているかどうかに関係なく、 BN_CLICKED 通知を送信します。

コンボ ボックスのスタイル

MFC では、次のコンボ ボックス スタイルを使用できます。 Windows のコンボ ボックス スタイルの詳細については、「 Combo Box Styles (Windows)」を参照してください。

Style 説明
CBS_AUTOHSCROLL ユーザーが行の末尾に文字を入力すると、編集コントロールのテキストを自動的に右にスクロールします。 このスタイルが設定されていないと、四角形境界内に収まる長さのテキストしか入力できません。
CBS_DISABLENOSCROLL リスト ボックスにスクロールするのに十分な項目が含まれていない場合、リスト ボックスには無効になっている垂直スクロール バーが表示されます。 このスタイルが設定されていないと、項目が少なくてスクロールする必要がない場合、スクロール バーは表示されません。
CBS_DROPDOWN CBS_SIMPLEと同様ですが、ユーザーが編集コントロールの横にあるアイコンを選択しない限り、リスト ボックスは表示されません。
CBS_DROPDOWNLIST CBS_DROPDOWNと同様に、編集コントロールがリスト ボックスに現在の選択範囲を表示する静的テキスト項目に置き換えられる点が異なります。
CBS_HASSTRINGS 所有者描画コンボ ボックスには、文字列で構成される項目が含まれています。 コンボ ボックスは文字列に割り当てるメモリやポインターを維持するため、アプリケーションで、 GetText メンバー関数を使用して特定の項目のテキストを取得できます。
CBS_LOWERCASE 選択フィールドとリストの両方のすべてのテキストを小文字に変換します。
CBS_NOINTEGRALHEIGHT コンボ ボックスのサイズが、コンボ ボックスの作成時にアプリケーションによって指定されたサイズに正確に設定されることを指定します。 通常、コンボ ボックスのサイズは、すべての項目が表示されるように Windows によって調整されます。
CBS_OEMCONVERT コンボ ボックス編集コントロールに入力されたテキストは、ANSI 文字セットから OEM 文字セットに変換され、その後 ANSI に戻されます。 これにより、アプリケーションが Windows 関数 AnsiToOem を呼び出してコンボ ボックス内の ANSI 文字列を OEM 文字に変換するときに、文字変換が適切に実行されます。 このスタイルは、ファイル名を含み、 CBS_SIMPLE または CBS_DROPDOWN スタイルで作成されたコンボ ボックスにのみ適用されるコンボ ボックスに最も便利です。
CBS_OWNERDRAWFIXED リスト ボックスの所有者は、その内容を描画する責任があります。リスト ボックス内の項目はすべて同じ高さです。
CBS_OWNERDRAWVARIABLE リスト ボックスの所有者は、その内容を描画する責任があります。リスト ボックス内の項目の高さは可変です。
CBS_SIMPLE リスト ボックスは常に表示されます。 編集コントロールには、リスト ボックス内で現在選択されている項目が表示されます。
CBS_SORT リスト ボックスに入力された文字列を自動的に並べ替えます。
CBS_UPPERCASE 選択フィールドとリストの両方のすべてのテキストを大文字に変換します。

スタイルの編集

スタイルの編集は、 CEdit クラス オブジェクトに適用されます。 CEdit::CreatedwStyle パラメーターでスタイルの組み合わせを指定します。 Windows でのコントロール スタイルの編集の詳細については、「 コントロール スタイルの編集 (Windows)」を参照してください。

Style 説明
ES_AUTOHSCROLL ユーザーが行の末尾に文字を入力すると、テキストを 10 文字だけ右に自動的にスクロールします。 ユーザーが Enter キーを押すと、コントロールはすべてのテキストを 0 の位置までスクロールします。
ES_AUTOVSCROLL ユーザーが最後の行で Enter キーを押すと、テキストが 1 ページ上に自動的にスクロールされます。
ES_CENTER テキストを 1 行または複数行の編集コントロールの中央に配置します。
ES_LEFT 1 行または複数行の編集コントロールのテキストを左揃えにします。
ES_LOWERCASE 編集コントロールに入力されているすべての文字を小文字に変換します。
ES_MULTILINE 複数行の編集コントロールを指定します。 (既定値は 1 行です)。 ES_AUTOVSCROLL スタイルが指定されている場合、ユーザーが Enter キーを押すと、エディット コントロールはできるだけ多くの行を表示し、垂直方向にスクロールします。 ES_AUTOVSCROLLが指定されていない場合、エディット コントロールはできるだけ多くの行を表示し、それ以上行を表示できないときに Enter キーを押すとビープ音が鳴ります。 ES_AUTOHSCROLLスタイルを指定すると、キャレットがコントロールの右端を越えると、複数行の編集コントロールが自動的に水平にスクロールします。 新しい行を開始するには、ユーザーが Enter キーを押す必要があります。 ES_AUTOHSCROLLが指定されていない場合、コントロールは必要に応じて自動的に次の行の先頭に単語を折り返します。Enter キーを押すと、新しい行も開始されます。 ワードラップの位置は、ウィンドウ サイズによって決まります。 ウィンドウ サイズが変更されると、ワードラップの位置が変更され、テキストが再表示されます。 複数行の編集コントロールにはスクロール バーを含めることができます。 スクロール バーを含む編集コントロールは、独自のスクロール バー メッセージを処理します。 上で説明したようにスクロール バーなしでコントロールを編集し、親ウィンドウから送信されたスクロール メッセージを処理します。
ES_NOHIDESEL 通常、編集コントロールは、コントロールが入力フォーカスを失ったときに選択範囲を非表示にし、コントロールが入力フォーカスを受け取ったときに選択範囲を反転します。 ES_NOHIDESELを指定すると、この既定のアクションが削除されます。
ES_NUMBER 編集コントロールに入力できるのは数字だけです。
ES_OEMCONVERT 編集コントロールに入力されたテキストは、ANSI 文字セットから OEM 文字セットに変換され、ANSI に戻されます。 これにより、アプリケーションが AnsiToOem Windows 関数を呼び出して編集コントロールの ANSI 文字列を OEM 文字に変換するときに、適切な文字変換が保証されます。 このスタイルは、ファイル名を含む編集コントロールに最も役立ちます。
ES_PASSWORD 編集コントロールに入力されているすべての文字をアスタリスク (*) として表示します。 アプリケーションは、 SetPasswordChar メンバー関数を使用して、表示される文字を変更できます。
ES_READONLY ユーザーが編集コントロールにテキストを入力または編集できないようにします。
ES_RIGHT 1 行または複数行の編集コントロールのテキストを右揃えにします。
ES_UPPERCASE 編集コントロールに入力されているすべての文字を大文字に変換します。
ES_WANTRETURN ダイアログ ボックスの複数行編集コントロールにテキストを入力するときに、ユーザーが Enter キーを押したときに復帰を挿入するように指定します。 このスタイルがない場合、Enter キーを押すと、ダイアログ ボックスの既定の押ボタンを押すのと同じ効果があります。 このスタイルは、1 行の編集コントロールには影響しません。

フレームウィンドウのスタイル

フレーム ウィンドウ スタイルは、 CFrameWnd Class オブジェクトに適用されます。 CFrameWnd::CreatedwStyle パラメーターでスタイルの組み合わせを指定します。

Style 説明
FWS_ADDTOTITLE フレーム ウィンドウ タイトルの末尾に追加する情報を指定します。 たとえば、「Microsoft Draw - Drawing in Document1」などです。 アプリケーション ウィザードの [ドキュメント テンプレート文字列] タブに表示される文字列を指定できます。 このオプションをオフにする必要がある場合は、 CWnd::PreCreateWindow メンバー関数をオーバーライドします。
FWS_PREFIXTITLE フレーム ウィンドウのタイトルで、アプリケーション名の前にドキュメント名を表示します。 たとえば、"Document - WordPad" などです。 アプリケーション ウィザードの [ドキュメント テンプレート文字列] タブに表示される文字列を指定できます。 このオプションをオフにする必要がある場合は、 CWnd::PreCreateWindow メンバー関数をオーバーライドします。
FWS_SNAPTOBARS コントロール バーがフレーム ウィンドウにドッキングされるのではなく、フローティング ウィンドウ内にあるときにコントロール バーを囲むフレーム ウィンドウのサイズ設定を制御します。 このスタイルは、コントロール バーに合わせてウィンドウのサイズを変更します。

リスト ボックスのスタイル

リスト ボックス のスタイルは、 CListBox クラス オブジェクトに適用されます。 CListBox::CreatedwStyle パラメーターでスタイルの組み合わせを指定します。 Windows のリスト ボックス スタイルの詳細については、「 リスト ボックス スタイル (Windows)」を参照してください。

Style 説明
LBS_DISABLENOSCROLL リスト ボックスにスクロールするのに十分な項目が含まれていない場合、リスト ボックスには無効になっている垂直スクロール バーが表示されます。 このスタイルが設定されていないと、項目が少なくてスクロールする必要がない場合、スクロール バーは表示されません。
LBS_EXTENDEDSEL ユーザーは、Shift キーとマウスまたは特殊なキーの組み合わせを使用して、複数の項目を選択できます。
LBS_HASSTRINGS 文字列で構成される項目を含む所有者描画リスト ボックスを指定します。 リスト ボックスは文字列のメモリとポインターを保持するため、アプリケーションは GetText メンバー関数を使用して特定の項目のテキストを取得できます。
LBS_MULTICOLUMN 水平方向にスクロールする複数列のリスト ボックスを指定します。 SetColumnWidthメンバー関数は、列の幅を設定します。
LBS_MULTIPLESEL 文字列の選択は、ユーザーが文字列をクリックまたはダブルクリックするたびに切り替えられます。 任意の数の文字列を選択できます。
LBS_NODATA データなしのリスト ボックスを指定します。 リスト ボックス内の項目数が 1000 を超えるとき、このスタイルを指定します。 データなしリスト ボックスには LBS_OWNERDRAWFIXED スタイルも必要ですが、 LBS_SORT または LBS_HASSTRINGS スタイルを持つ必要はありません。

データなしのリスト ボックスは、項目の文字列もビットマップ データも含まれない点を除き、オーナーの描画によるリスト ボックスに似ています。 項目を追加、挿入、または削除するコマンドは、指定された項目データを常に無視します。リスト ボックス内の文字列を検索する要求は常に失敗します。 アイテムを描画する必要があるときに、 WM_DRAWITEM メッセージが所有者ウィンドウに送信されます。 WM_DRAWITEM メッセージと共に渡されるDRAWITEMSTRUCT構造体の itemID メンバーは、描画する項目の行番号を指定します。 データなしリスト ボックスでは、 WM_DELETEITEM メッセージは送信されません。
LBS_NOINTEGRALHEIGHT リスト ボックスのサイズは、アプリケーションがリスト ボックスを作成したときに指定したサイズに正確に設定されます。 通常、Windows はリスト ボックスのサイズを変更し、リスト ボックスに部分的な項目が表示されないようにします。
LBS_NOREDRAW リスト ボックスの表示は、変更が行われると更新されません。 このスタイルは、 WM_SETREDRAW メッセージを送信することでいつでも変更できます。
LBS_NOSEL 表示できるが選択できない項目がリスト ボックスに含まれていることを指定します。
LBS_NOTIFY 親ウィンドウは、ユーザーが文字列をクリックまたはダブルクリックするたびに入力メッセージを受信します。
LBS_OWNERDRAWFIXED リスト ボックスの所有者は、その内容を描画する責任があります。リスト ボックス内の項目の高さは同じです。
LBS_OWNERDRAWVARIABLE リスト ボックスの所有者は、その内容を描画する責任があります。リスト ボックス内の項目の高さは可変です。
LBS_SORT リスト ボックス内の文字列はアルファベット順に並べ替えられます。
LBS_STANDARD リスト ボックス内の文字列はアルファベット順に並べ替えられます。親ウィンドウは、ユーザーが文字列をクリックまたはダブルクリックするたびに入力メッセージを受け取ります。 リスト ボックスには、すべての辺に罫線が含まれています。
LBS_USETABSTOPS 文字列を描画するときに、リスト ボックスでタブ文字を認識および展開できるようにします。 既定のタブ位置は、32 個のダイアログ 単位です。 (ダイアログ ユニットは水平方向または垂直方向の距離です。1 つの水平ダイアログ単位は、現在のダイアログの基本幅単位の 4 分の 1 に相当します。ダイアログの基本単位は、現在のシステム フォントの高さと幅に基づいて計算されます。 GetDialogBaseUnits Windows 関数は、現在のダイアログの基本単位をピクセル単位で返します。このスタイルは、 LBS_OWNERDRAWFIXEDで使用しないでください。
LBS_WANTKEYBOARDINPUT リスト ボックスの所有者は、リスト ボックスに入力フォーカスがあるときにユーザーがキーを押すたびに、 WM_VKEYTOITEM または WM_CHARTOITEM メッセージを受け取ります。 これにより、アプリケーションはキーボード入力に対して特別な処理を実行できます。

メッセージ ボックスのスタイル

メッセージ ボックスのスタイルは、 AfxMessageBox アイテムに適用されます。 AfxMessageBoxnType パラメーターでスタイルの組み合わせを指定します。 Windows のメッセージ ボックス スタイルの詳細については、「 MessageBox 関数 (Windows)」を参照してください。

次のメッセージ ボックス スタイルを使用できます。

メッセージ ボックスの種類

Style 説明
MB_ABORTRETRYIGNORE メッセージ ボックスには、中止、再試行、無視の 3 つのプッシュ ボタンが含まれています。
MB_OK メッセージ ボックスには、1 つのプッシュ ボタン [OK] が含まれています。
MB_OKCANCEL メッセージ ボックスには、OK とキャンセルの 2 つのプッシュ ボタンが含まれています。
MB_RETRYCANCEL メッセージ ボックスには、再試行とキャンセルの 2 つのプッシュ ボタンが含まれています。
MB_YESNO メッセージ ボックスには、2 つのプッシュ ボタン (Yes と No) が含まれています。
MB_YESNOCANCEL メッセージ ボックスには、3 つのプッシュ ボタン (Yes、No、Cancel) が含まれています。

メッセージ ボックスのモダリティ

Style 説明
MB_APPLMODAL ユーザーは、現在のウィンドウで作業を続行する前に、メッセージ ボックスに応答する必要があります。 ただし、ユーザーは他のアプリケーションのウィンドウに移動して、それらのウィンドウで作業できます。 MB_SYSTEMMODALMB_TASKMODALも指定されていない場合、既定値はMB_APPLMODALです。
MB_SYSTEMMODAL すべてのアプリケーションは、ユーザーがメッセージ ボックスに応答するまで中断されます。 システム モーダル メッセージ ボックスは、直ちに注意を払う必要があり、慎重に使用する必要がある重大な、潜在的に損傷を与える可能性のあるエラーをユーザーに通知するために使用されます。
MB_TASKMODAL MB_APPLMODALに似ていますが、Microsoft Foundation クラス アプリケーション内では役に立ちません。 このフラグは、使用可能なウィンドウ ハンドルがない呼び出し元のアプリケーションまたはライブラリ用に予約されています。

メッセージ ボックス アイコン

Style 説明
MB_ICONEXCLAMATION 感嘆符アイコンがメッセージ ボックスに表示されます。
MB_ICONINFORMATION 円の中の "I" で構成されるアイコンがメッセージ ボックスに表示されます。
MB_ICONQUESTION メッセージ ボックスに疑問符アイコンが表示されます。
MB_ICONSTOP メッセージ ボックスに停止記号アイコンが表示されます。

メッセージ ボックスの既定のボタン

Style 説明
MB_DEFBUTTON1 最初のボタンが既定値です。 MB_DEFBUTTON2またはMB_DEFBUTTON3が指定されていない限り、最初のボタンは常に既定値であることに注意してください。
MB_DEFBUTTON2 2 番目のボタンが既定値です。
MB_DEFBUTTON3 3 番目のボタンが既定値です。

スクロール バーのスタイル

スクロール バーのスタイルは、 CScrollBar Class オブジェクトに適用されます。 CScrollBar::CreatedwStyle パラメーターでスタイルの組み合わせを指定します。 Windows のスクロール バー コントロール スタイルの詳細については、「 スクロール バー コントロール スタイル (Windows)」を参照してください。

Style 説明
SBS_BOTTOMALIGN SBS_HORZ スタイルで使用されます。 スクロール バーの下端は、 Create メンバー関数で指定された四角形の下端に揃えられます。 スクロール バーには、システム スクロール バーの既定の高さがあります。
SBS_HORZ 水平スクロール バーを指定します。 SBS_BOTTOMALIGNSBS_TOPALIGNスタイルも指定されていない場合、スクロール バーには、Create メンバー関数で指定された高さ、幅、位置があります。
SBS_LEFTALIGN SBS_VERT スタイルで使用されます。 スクロール バーの左端は、 Create メンバー関数で指定された四角形の左端に揃えられます。 スクロール バーには、システム スクロール バーの既定の幅があります。
SBS_RIGHTALIGN SBS_VERT スタイルで使用されます。 スクロール バーの右端は、 Create メンバー関数で指定された四角形の右端に揃えられます。 スクロール バーには、システム スクロール バーの既定の幅があります。
SBS_SIZEBOX サイズ ボックスを指定します。 SBS_SIZEBOXBOTTOMRIGHTALIGNSBS_SIZEBOXTOPLEFTALIGNスタイルも指定されていない場合、サイズ ボックスには、Create メンバー関数で指定された高さ、幅、位置があります。
SBS_SIZEBOXBOTTOMRIGHTALIGN SBS_SIZEBOX スタイルで使用されます。 サイズ ボックスの右下隅は、 Create メンバー関数で指定された四角形の右下隅に揃えられます。 サイズ ボックスには、システム サイズ ボックスの既定のサイズがあります。
SBS_SIZEBOXTOPLEFTALIGN SBS_SIZEBOX スタイルで使用されます。 サイズ ボックスの左上隅は、 Create メンバー関数で指定された四角形の左上隅に揃えられます。 サイズ ボックスには、システム サイズ ボックスの既定のサイズがあります。
SBS_SIZEGRIP SBS_SIZEBOXと同じですが、エッジが上げられます。
SBS_TOPALIGN SBS_HORZ スタイルで使用されます。 スクロール バーの上端は、 Create メンバー関数で指定された四角形の上端に揃えられます。 スクロール バーには、システム スクロール バーの既定の高さがあります。
SBS_VERT 垂直スクロール バーを指定します。 SBS_RIGHTALIGNSBS_LEFTALIGNスタイルも指定されていない場合、スクロール バーには、Create メンバー関数で指定された高さ、幅、位置があります。

静的スタイル

静的スタイルは、 CStatic Class オブジェクトに適用されます。 CStatic::CreatedwStyle パラメーターでスタイルの組み合わせを指定します。 Windows の静的コントロール スタイルの詳細については、「 Static コントロール スタイル (Windows)」を参照してください。

Style 説明
SS_BITMAP ビットマップを静的コントロールに表示することを指定します。 指定されたテキストは、リソース ファイル内の別の場所で定義されているビットマップの名前 (ファイル名ではありません) です。 このスタイルでは、nWidth パラメーターと nHeight パラメーターは無視されます。コントロールは、ビットマップに合わせて自動的にサイズを調整します。
SS_BLACKFRAME ウィンドウ フレームと同じ色で描画されたフレームを含むボックスを指定します。 既定値は黒です。
SS_BLACKRECT ウィンドウ フレームの描画に使用する色で塗りつぶされた四角形を指定します。 既定値は黒です。
SS_CENTER 単純な四角形を指定し、指定したテキストを四角形の中央に表示します。 テキストは表示前に書式設定されます。 行の末尾を超えて拡張される単語は、自動的に次の中央揃え線の先頭に折り返されます。
SS_CENTERIMAGE ビットマップまたはアイコンが静的コントロールのクライアント領域よりも小さい場合、クライアント領域の残りの部分にビットマップまたはアイコンの左上隅にあるピクセルの色が塗りつぶされることを指定します。 静的コントロールに 1 行のテキストが含まれている場合、テキストはコントロールのクライアント領域の垂直方向の中央に配置されます。
SS_ENDELLIPSIS または SS_PATHELLIPSIS 必要に応じて、指定した文字列の一部を省略記号に置き換え、結果が指定した四角形に収まるようにします。

文字列の末尾にある文字を置換する SS_END_ELLIPSIS を指定するか、文字列の途中の文字を置換する SS_PATHELLIPSIS を指定できます。 文字列に円記号 (\) 文字が含まれている場合、 SS_PATHELLIPSIS は最後の円記号の後のテキストをできるだけ多く保持します。
SS_ENHMETAFILE 拡張メタファイルを静的コントロールに表示することを指定します。 指定されたテキストはメタファイルの名前です。 拡張メタファイル静的コントロールには固定サイズがあります。メタファイルは、静的コントロールのクライアント領域に合わせてスケーリングされます。
SS_ETCHEDFRAME EDGE_ETCHEDエッジ スタイルを使用して、静的コントロールのフレームを描画します。
SS_ETCHEDHORZ EDGE_ETCHEDエッジ スタイルを使用して、静的コントロールの上端と下端を描画します。
SS_ETCHEDVERT EDGE_ETCHEDエッジ スタイルを使用して、静的コントロールの左端と右端を描画します。
SS_GRAYFRAME 画面の背景 (デスクトップ) と同じ色で描画されたフレームを含むボックスを指定します。 既定値は灰色です。
SS_GRAYRECT 画面の背景を塗りつぶすために使用する色で塗りつぶされた四角形を指定します。 既定値は灰色です。
SS_ICON ダイアログ ボックスに表示されるアイコンを指定します。 指定されたテキストは、リソース ファイル内の別の場所で定義されているアイコンの名前 (ファイル名ではありません) です。 nWidthパラメーターとnHeight パラメーターは無視され、アイコン自体のサイズは自動的に変更されます。
SS_LEFT 単純な四角形を指定し、指定されたテキストを四角形の左にフラッシュして表示します。 テキストは表示前に書式設定されます。 行の末尾を超える単語は、次のフラッシュ左行の先頭に自動的に折り返されます。
SS_LEFTNOWORDWRAP 単純な四角形を指定し、指定されたテキストを四角形の左にフラッシュして表示します。 タブは展開されますが、単語は折り返されません。 行の末尾を越えて拡張されたテキストはクリップされます。
SS_NOPREFIX このスタイルを指定しない限り、Windows はコントロールのテキスト内のアンパサンド (> 文字) をアクセラレータ プレフィックス文字として解釈します。 この場合、アンパサンドが削除され、文字列内の次の文字に下線が引かれます。 静的コントロールにこの機能が不要なテキストを含める場合は、 SS_NOPREFIX を追加できます。 この静的コントロール スタイルは、定義されている任意の静的コントロールに含まれる場合があります。 ビットごとの OR 演算子を使用して、 SS_NOPREFIX を他のスタイルと組み合わせることができます。 これは、アンパサンドを含むファイル名またはその他の文字列をダイアログ ボックスの静的コントロールに表示する必要がある場合に最もよく使用されます。
SS_NOTIFY ユーザーがコントロールをクリックまたはダブルクリックしたときに、親ウィンドウの STN_CLICKEDSTN_DBLCLKSTN_DISABLE、および STN_ENABLE 通知メッセージを送信します。
SS_OWNERDRAW 静的コントロールの所有者がコントロールの描画を担当することを指定します。 所有者ウィンドウは、コントロールを描画する必要があるときに常に WM_DRAWITEM メッセージを受け取ります。
SS_REALSIZEIMAGE 静的アイコンまたはビットマップ コントロール (つまり、 SS_ICON または SS_BITMAP スタイルを持つ静的コントロール) の読み込み時または描画時にサイズが変更されないようにします。 アイコンまたはビットマップがコピー先領域よりも大きい場合、イメージはクリップされます。
SS_RIGHT 単純な四角形を指定し、指定されたテキストを四角形の右にフラッシュして表示します。 テキストは表示前に書式設定されます。 行の末尾を超える単語は、次のフラッシュ右行の先頭に自動的に折り返されます。
SS_RIGHTJUST SS_BITMAPスタイルまたはSS_ICON スタイルを持つ静的コントロールの右下隅を、コントロールのサイズ変更時に固定したままにすることを指定します。 新しいビットマップまたはアイコンに合わせて調整されるのは、左上だけです。
SS_SIMPLE 単純な四角形を指定し、四角形の左に 1 行のテキストを表示します。 テキスト行を短くしたり、変更したりすることはできません。 (コントロールの親ウィンドウまたはダイアログ ボックスは、 WM_CTLCOLOR メッセージを処理できません。
SS_SUNKEN 静的コントロールの周囲に半分沈んだ境界線を描画します。
SS_USERITEM ユーザー定義アイテムを指定します。
SS_WHITEFRAME ウィンドウの背景と同じ色で描画されたフレームを含むボックスを指定します。 既定の色は白です。
SS_WHITERECT ウィンドウの背景を塗りつぶすために使用する色で塗りつぶされた四角形を指定します。 既定の色は白です。
SS_WORDELLIPSIS 収まらないテキストを切り捨て、省略記号を追加します。

ウィンドウ スタイル

ウィンドウ スタイルは、 CWnd Class オブジェクトに適用されます。 CWnd::CreateまたはCWnd::CreateExdwStyle パラメーターにスタイルの組み合わせを指定します。 Windows のウィンドウ スタイルの詳細については、「 Window スタイル (Windows)」を参照してください。

Style 説明
WS_BORDER 罫線を持つウィンドウを作成します。
WS_CAPTION タイトル バーを含むウィンドウを作成します ( WS_BORDER スタイルを意味します)。 WS_DLGFRAME スタイルでは使用できません。
WS_CHILD 子ウィンドウを作成します。 WS_POPUP スタイルでは使用できません。
WS_CHILDWINDOW WS_CHILD スタイルと同じです。
WS_CLIPCHILDREN 親ウィンドウ内に描画された子ウィンドウによって占有される領域を除外します。 親ウィンドウを作成するときに使用します。
WS_CLIPSIBLINGS 子ウィンドウを互いに相対的にクリップします。つまり、特定の子ウィンドウがペイント メッセージを受け取ると、 WS_CLIPSIBLINGS スタイルは、更新する子ウィンドウの領域から他のすべての重複する子ウィンドウをクリップします。 ( WS_CLIPSIBLINGS が指定されておらず、子ウィンドウが重なっている場合、子ウィンドウのクライアント領域内で描画する場合は、隣接する子ウィンドウのクライアント領域内に描画できます)。 WS_CHILD スタイルでのみ使用します。
WS_DISABLED 最初から無効になるウィンドウを作成します。
WS_DLGFRAME 二重罫線を持つウィンドウを作成しますが、タイトルは作成しません。
WS_GROUP ユーザーが方向キーを使用して 1 つのコントロールから次のコントロールに移動できるコントロールのグループの最初のコントロールを指定します。 WS_GROUP スタイルで定義されているすべてのコントロールは、最初のコントロールの後に同じグループに属FALSEWS_GROUP スタイルを持つ次のコントロールは、次のグループを開始します (つまり、1 つのグループが次のグループの開始位置で終了します)。
WS_HSCROLL 水平スクロール バーがあるウィンドウを作成します。
WS_ICONIC 最初に最小化されたウィンドウを作成します。 WS_MINIMIZE スタイルと同じです。
WS_MAXIMIZE 最大サイズのウィンドウを作成します。
WS_MAXIMIZEBOX 最大化ボタンを含むウィンドウを作成します。
WS_MINIMIZE 最初に最小化されたウィンドウを作成します。 WS_OVERLAPPED スタイルでのみ使用します。
WS_MINIMIZEBOX [最小化] ボタンがあるウィンドウを作成します。
WS_OVERLAPPED ウィンドウの重なりを作成します。 オーバーラップ ウィンドウには、通常キャプションと境界線があります。
WS_OVERLAPPEDWINDOW WS_OVERLAPPEDWS_CAPTIONWS_SYSMENUWS_THICKFRAMEWS_MINIMIZEBOX、およびWS_MAXIMIZEBOXのスタイルで重なったウィンドウを作成します。
WS_POPUP ポップアップ ウィンドウを作成します。 WS_CHILD スタイルでは使用できません。
WS_POPUPWINDOW WS_BORDERWS_POPUP、およびWS_SYSMENUスタイルを含むポップアップ ウィンドウを作成します。 [コントロール] メニューを表示するには、 WS_CAPTION スタイルを WS_POPUPWINDOW スタイルと組み合わせる必要があります。
WS_SIZEBOX サイズ変更の境界線を持つウィンドウを作成します。 WS_THICKFRAME スタイルと同じです。
WS_SYSMENU タイトル バーにコントロール メニュー ボックスがあるウィンドウを作成します。 タイトル バーのあるウィンドウで使用します。
WS_TABSTOP Tab キーを使用してユーザーが移動できる任意の数のコントロールのいずれかを指定します。 Tab キーを押すと、ユーザーは WS_TABSTOP スタイルで指定された次のコントロールに移動します。
WS_THICKFRAME ウィンドウのサイズを変更するために使用できる太いフレームを持つウィンドウを作成します。
WS_TILED ウィンドウの重なりを作成します。 オーバーラップ ウィンドウには、タイトル バーと境界線があります。 WS_OVERLAPPED スタイルと同じです。
WS_TILEDWINDOW WS_OVERLAPPEDWS_CAPTIONWS_SYSMENUWS_THICKFRAMEWS_MINIMIZEBOX、およびWS_MAXIMIZEBOXのスタイルで重なったウィンドウを作成します。 WS_OVERLAPPEDWINDOW スタイルと同じです。
WS_VISIBLE 最初から表示されるウィンドウを作成します。
WS_VSCROLL 垂直スクロール バーがあるウィンドウを作成します。

拡張ウィンドウ スタイル

拡張ウィンドウ スタイルは、 CWnd クラス オブジェクトに適用されます。 CWnd::CreateExdwExStyle パラメーターでスタイルの組み合わせを指定します。 Windows の拡張ウィンドウ スタイルの詳細については、「 Extended Window Styles (Windows)」を参照してください。

Style 説明
WS_EX_ACCEPTFILES このスタイルで作成されたウィンドウがドラッグ アンド ドロップ ファイルを受け入れることを指定します。
WS_EX_APPWINDOW ウィンドウが表示されているときに、トップレベル ウィンドウをタスク バーに強制的に配置します。
WS_EX_CLIENTEDGE ウィンドウに 3D の外観 (つまり、エッジが沈んだ境界線) があることを指定します。
WS_EX_CONTEXTHELP ウィンドウのタイトル バーに疑問符が含まれます。 ユーザーがこの疑問符をクリックすると、カーソルは、疑問符付きのポインターに変化します。 ユーザーが子ウィンドウをクリックすると、子は WM_HELP メッセージを受け取ります。
WS_EX_CONTROLPARENT Tab キーを使用して、ユーザーがウィンドウの子ウィンドウ間を移動できるようにします。
WS_EX_DLGMODALFRAME dwStyle パラメーターで WS_CAPTION スタイル フラグを指定するときに、タイトル バーを使用して作成できる二重罫線を持つウィンドウを指定します (必要に応じて)。
WS_EX_LAYERED ウィンドウは レイヤー ウィンドウです。 ウィンドウにCS_OWNDCまたはCS_CLASSDCクラス スタイルがある場合は、このスタイルを使用できません。 ただし、Microsoft Windows 8 では子ウィンドウの WS_EX_LAYERED スタイルがサポートされています。以前のバージョンの Windows では、最上位のウィンドウでのみサポートされています。
WS_EX_LEFT ウィンドウの一般的な左揃えプロパティを提供します。 これが既定です。
WS_EX_LEFTSCROLLBAR クライアント領域の左側に垂直スクロール バーを配置します。
WS_EX_LTRREADING 左から右への読み取り順序プロパティを使用してウィンドウ テキストを表示します。 これが既定です。
WS_EX_MDICHILD MDI 子ウィンドウを作成します。
WS_EX_NOPARENTNOTIFY このスタイルで作成された子ウィンドウが、子ウィンドウの作成時または破棄時に WM_PARENTNOTIFY メッセージを親ウィンドウに送信しないことを指定します。
WS_EX_OVERLAPPEDWINDOW WS_EX_CLIENTEDGEスタイルとWS_EX_WINDOWEDGEスタイルを組み合わせたもの
WS_EX_PALETTEWINDOW WS_EX_WINDOWEDGEスタイルとWS_EX_TOPMOSTスタイルを結合します。
WS_EX_RIGHT ウィンドウの一般的な右揃えプロパティを提供します。 これはウィンドウ クラスに依存します。
WS_EX_RIGHTSCROLLBAR クライアント領域の右側に垂直スクロール バー (存在する場合) を配置します。 これが既定です。
WS_EX_RTLREADING 右から左への読み取り順序プロパティを使用してウィンドウ テキストを表示します。
WS_EX_STATICEDGE ユーザー入力を受け入れられないアイテムに使用することを目的とした 3 次元の罫線スタイルを持つウィンドウを作成します。
WS_EX_TOOLWINDOW ツール ウィンドウを作成します。これは、フローティング ツール バーとして使用することを目的としたウィンドウです。 ツール ウィンドウには、通常のタイトル バーより短いタイトル バーがあり、ウィンドウ タイトルは小さいフォントを使用して描画されます。 ツール ウィンドウは、タスク バーの中、またはユーザーが Alt + Tab キーを押したときに表示されるウィンドウには表示されません。
WS_EX_TOPMOST このスタイルで作成されたウィンドウを、最上位以外のすべてのウィンドウの上に配置し、ウィンドウが非アクティブ化されている場合でもその上に配置することを指定します。 アプリケーションは SetWindowPos のメンバー関数を使用して、この属性を追加または削除することができます。
WS_EX_TRANSPARENT このスタイルで作成されたウィンドウを透明にすることを指定します。 つまり、このウィンドウより奥にあるすべてのウィンドウは、このウィンドウによって隠されることはありません。 このスタイルで作成されたウィンドウは、その下にあるすべての兄弟ウィンドウが更新された後にのみ、 WM_PAINT メッセージを受信します。
WS_EX_WINDOWEDGE ウィンドウに上げエッジを持つ罫線があることを指定します。

関連項目

MFC クラスの概要
CWnd::Create
CWnd::CreateEx
CEdit::Create
CScrollBar::Create
CStatic::Create
AfxMessageBox
CreateWindow
CreateWindowEx
ボタン のスタイル (Windows)
コンボ ボックス スタイル (Windows)
コントロール スタイルの編集 (Windows)
リスト ボックスのスタイル (Windows)
MessageBox 関数 (Windows)
スクロール バー コントロールのスタイル (Windows)
静的コントロール スタイル (Windows)
ウィンドウ スタイル (Windows)
拡張ウィンドウ スタイル (Windows)