次の方法で共有


拡張ウィンドウ スタイル

拡張ウィンドウ のスタイルを次に示します。


virtual    BOOL    Create(HWND hWndParent, WCHAR* pwszClassName,
                            WCHAR* pwszWindowName, UINT uID, HICON hIcon,
                            DWORD dwStyle = WS_OVERLAPPEDWINDOW,
                            DWORD dwExStyle = WS_EX_APPWINDOW,
                            int x = CW_USEDEFAULT, int y = CW_USEDEFAULT,
                            int cx = CW_USEDEFAULT, int cy = CW_USEDEFAULT);

このコードは、GitHub リポジトリの Windows クラシック サンプル サンプルから取得したものです。

定数/値 形容
WS_EX_ACCEPTFILES
0x00000010L
ウィンドウはドラッグ ドロップ ファイルを受け入れます。
WS_EX_APPWINDOW
0x00040000L
ウィンドウが表示されているときに、トップレベル ウィンドウをタスク バーに強制的に配置します。
WS_EX_CLIENTEDGE
0x00000200L
ウィンドウには、エッジが沈んだ境界線があります。
WS_EX_COMPOSITED
0x02000000L
ダブル バッファリングを使用して、ウィンドウのすべての子孫を下から上への描画順序で塗りつぶします。 下から上への描画順序を使用すると、降順のウィンドウに半透明 (アルファ) 効果と透明度 (カラー キー) 効果を適用できますが、降順ウィンドウにWS_EX_TRANSPARENT ビットも設定されている場合に限ります。 ダブルバッファリングにより、ウィンドウとその子孫をちらつきなしで塗りつぶすことができます。 ウィンドウに CS_OWNDCCS_CLASSDC、または CS_PARENTDCクラス スタイルの がある場合は使用できません。
Windows 2000: このスタイルはサポートされていません。
WS_EX_CONTEXTHELP
0x00000400L
ウィンドウのタイトル バーには疑問符が付きます。 ユーザーが疑問符をクリックすると、カーソルがポインター付きの疑問符に変わります。 ユーザーが子ウィンドウをクリックすると、子は WM_HELP メッセージを受け取ります。 子ウィンドウは、HELP_WM_HELP コマンドを使用して winHelp 関数 呼び出す必要がある親ウィンドウ プロシージャにメッセージを渡す必要があります。 ヘルプ アプリケーションには、通常、子ウィンドウのヘルプを含むポップアップ ウィンドウが表示されます。
WS_EX_CONTEXTHELP は、WS_MAXIMIZEBOX または WS_MINIMIZEBOX スタイルでは使用できません。
WS_EX_CONTROLPARENT
0x00010000L
ウィンドウ自体には、ダイアログ ボックスのナビゲーションに参加する必要がある子ウィンドウが含まれています。 このスタイルを指定すると、Tab キー、方向キー、キーボードニーモニックなどのナビゲーション操作を実行するときに、ダイアログ マネージャーはこのウィンドウの子に再帰されます。
WS_EX_DLGMODALFRAME
0x00000001L
ウィンドウには二重の境界線があります。必要に応じて、dwStyle パラメーターで WS_CAPTION スタイルを指定することで、ウィンドウをタイトル バーで作成できます。
WS_EX_LAYERED
0x00080000
ウィンドウは、レイヤーウィンドウです。 ウィンドウに CS_OWNDC または CS_CLASSDCのいずれかの クラス スタイル がある場合、このスタイルは使用できません。
Windows 8: 最上位のウィンドウと子ウィンドウでは、WS_EX_LAYERED スタイルがサポートされています。 以前のバージョンの Windows では、最上位のウィンドウに対してのみ WS_EX_LAYERED がサポートされています。
WS_EX_LAYOUTRTL
0x00400000L
シェル言語がヘブライ語、アラビア語、または読み取り順序の配置をサポートする別の言語の場合、ウィンドウの水平方向の原点は右端にあります。 水平方向の値を増やすと、左に進みます。
WS_EX_LEFT
0x00000000L
ウィンドウには、一般的な左揃えプロパティがあります。 これが既定値です。
WS_EX_LEFTSCROLLBAR
0x00004000L
シェル言語がヘブライ語、アラビア語、または読み取り順序の配置をサポートする別の言語の場合、垂直スクロール バー (存在する場合) はクライアント領域の左側にあります。 他の言語の場合、スタイルは無視されます。
WS_EX_LTRREADING
0x00000000L
ウィンドウ テキストは、左から右の読み取り順序プロパティを使用して表示されます。 これが既定値です。
WS_EX_MDICHILD
0x00000040L
ウィンドウは MDI 子ウィンドウです。
WS_EX_NOACTIVATE
0x08000000L
このスタイルで作成されたトップレベル ウィンドウは、ユーザーがクリックしてもフォアグラウンド ウィンドウになりません。 ユーザーがフォアグラウンド ウィンドウを最小化または閉じると、システムはこのウィンドウをフォアグラウンドに移動しません。
このウィンドウは、プログラムによるアクセスや、ナレーターなどのアクセス可能なテクノロジによるキーボード ナビゲーションを使用してアクティブ化しないでください。
ウィンドウをアクティブにするには、SetActiveWindow または SetForegroundWindow 関数 使用します。
既定では、ウィンドウはタスク バーに表示されません。 タスク バーにウィンドウを強制的に表示するには、WS_EX_APPWINDOW スタイルを使用します。
WS_EX_NOINHERITLAYOUT
0x00100000L
ウィンドウは、そのウィンドウ レイアウトを子ウィンドウに渡しません。
WS_EX_NOPARENTNOTIFY
0x00000004L
このスタイルで作成された子ウィンドウは、作成時または破棄時に WM_PARENTNOTIFY メッセージを親ウィンドウに送信しません。
WS_EX_NOREDIRECTIONBITMAP
0x00200000L
ウィンドウはリダイレクト 画面にレンダリングされません。 これは、目に見えるコンテンツがないウィンドウ、またはサーフェス以外のメカニズムを使用してビジュアルを提供するウィンドウ用です。
WS_EX_OVERLAPPEDWINDOW
(WS_EX_WINDOWEDGE |WS_EX_CLIENTEDGE)
ウィンドウは重なり合ったウィンドウです。
WS_EX_PALETTEWINDOW
(WS_EX_WINDOWEDGE |WS_EX_TOOLWINDOW |WS_EX_TOPMOST)
このウィンドウはパレット ウィンドウです。これは、コマンドの配列を表示するモードレス ダイアログ ボックスです。
WS_EX_RIGHT
0x00001000L
ウィンドウには、汎用の "右揃え" プロパティがあります。 これはウィンドウ クラスによって異なります。 このスタイルは、シェル言語がヘブライ語、アラビア語、または読み取り順序の配置をサポートする別の言語である場合にのみ有効です。それ以外の場合、スタイルは無視されます。
静的コントロールまたは編集コントロールに WS_EX_RIGHT スタイルを使用すると、それぞれ SS_RIGHT または ES_RIGHT スタイルを使用する場合と同じ効果があります。 ボタン コントロールでこのスタイルを使用すると、BS_RIGHT スタイルや BS_RIGHTBUTTON スタイルを使用する場合と同じ効果があります。
WS_EX_RIGHTSCROLLBAR
0x00000000L
垂直スクロール バー (存在する場合) は、クライアント領域の右側にあります。 これが既定値です。
WS_EX_RTLREADING
0x00002000L
シェル言語がヘブライ語、アラビア語、または読み取り順序の配置をサポートする別の言語の場合は、右から左への読み取り順序プロパティを使用してウィンドウ テキストが表示されます。 他の言語の場合、スタイルは無視されます。
WS_EX_STATICEDGE
0x00020000L
ウィンドウには、ユーザー入力を受け入れられない項目に使用することを目的とした 3 次元の罫線スタイルがあります。
WS_EX_TOOLWINDOW
0x00000080L
このウィンドウは、フローティング ツールバーとして使用することを目的としています。 ツール ウィンドウには、通常のタイトル バーよりも短いタイトル バーがあり、ウィンドウ のタイトルは小さいフォントを使用して描画されます。 ツール ウィンドウは、タスク バーや、ユーザーが Alt キーを押しながら Tab キーを押したときに表示されるダイアログには表示されません。 ツール ウィンドウにシステム メニューがある場合、そのアイコンはタイトル バーに表示されません。 ただし、右クリックするか、Alt + SPACE キーを押して、システム メニューを表示できます。
WS_EX_TOPMOST
0x00000008L
ウィンドウは、最上位以外のすべてのウィンドウの上に配置し、ウィンドウが非アクティブ化されている場合でも、その上に置く必要があります。 このスタイルを追加または削除するには、SetWindowPos 関数を使用します。
WS_EX_TRANSPARENT
0x00000020L
ウィンドウの下の兄弟 (同じスレッドによって作成された) が描画されるまで、ウィンドウを描画しないでください。 基になる兄弟ウィンドウのビットが既に描画されているため、ウィンドウは透明に表示されます。
これらの制限なしで透明度を実現するには、SetWindowRgn 関数を使用します。
WS_EX_WINDOWEDGE
0x00000100L
ウィンドウには、上げエッジを持つ罫線があります。

必要条件

要件 価値
サポートされる最小クライアント
Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小サーバー
Windows 2000 Server [デスクトップ アプリのみ]
ヘッダ
Winuser.h (Windows.h を含む)