ウィンドウ クラスのスタイル
クラス スタイルは、ウィンドウ クラスの追加の要素を定義します。 ビットごとの OR (|) 演算子を使用して、2 つ以上のスタイルを組み合わせることができます。 ウィンドウ クラスにスタイルを割り当てるには、WNDCLASSEX 構造体のスタイル メンバーにスタイルを割り当てます。
例
WNDCLASS wc = {};
wc.lpfnWndProc = s_DropDownWndProc;
wc.cbWndExtra = sizeof(CTipACDialog *);
wc.hInstance = g_hInstance;
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
wc.style = CS_SAVEBITS | CS_DROPSHADOW;
wc.lpszClassName = s_wzClassName;
RegisterClass(&wc);
GitHub 上の Windows クラシック サンプルからの例。
定数
ウィンドウ クラスのスタイルを次に示します。
定数/値 | 説明 |
---|---|
|
ウィンドウのクライアント領域をバイト境界 (x 方向) に揃えます。 このスタイルは、ウィンドウの幅とディスプレイ上の水平方向の配置に影響します。 |
|
ウィンドウをバイト境界 (x 方向) に配置します。 このスタイルは、ウィンドウの幅とディスプレイ上の水平方向の配置に影響します。 |
|
クラス内のすべてのウィンドウで共有される 1 つのデバイス コンテキストを割り当てます。 ウィンドウ クラスはプロセス固有であるため、アプリケーションの複数のスレッドで同じクラスのウィンドウを作成できます。 また、スレッドがデバイス コンテキストを同時に使用しようとすることもできます。 この場合、システムでは 1 つのスレッドのみが描画操作を正常に完了できます。 |
|
クラスに属するウィンドウ内にカーソルがある間にユーザーがマウスをダブルクリックすると、ウィンドウ プロシージャにダブルクリック メッセージを送信します。 |
|
ウィンドウに対するドロップ シャドウ効果を有効にします。 効果は、SPI_SETDROPSHADOWを使用してオンとオフを切 り替えます。 通常、これは、他のウィンドウとの Z オーダーの関係を強調するために、メニューなどの有効期間の短い小さなウィンドウに対して有効になります。 このスタイルを持つクラスから作成された Windows は、最上位のウィンドウである必要があります。子ウィンドウではない可能性があります。 |
|
ウィンドウ クラスがアプリケーション グローバル クラスであることを示します。 詳細については、「 ウィンドウ クラスについて」の「アプリケーション グローバル クラス」セクションを参照してください。 |
|
移動またはサイズ調整によってクライアント領域の幅が変更された場合は、ウィンドウ全体を再描画します。 |
|
ウィンドウ メニューの [閉じる] を無効にします。 |
|
クラス内の各ウィンドウに一意のデバイス コンテキストを割り当てます。 |
|
子ウィンドウのクリッピング四角形を親ウィンドウのクリッピング四角形に設定して、子が親ウィンドウに描画できるようにします。
CS_PARENTDC スタイル ビットを持つウィンドウは、システムのデバイス コンテキストのキャッシュから通常のデバイス コンテキストを受け取ります。 子に親のデバイス コンテキストまたはデバイス コンテキストの設定は提供されません。
CS_PARENTDCを指定すると、アプリケーションのパフォーマンスが向上します。 |
|
このクラスのウィンドウによって隠された画面イメージの部分をビットマップとして保存します。 ウィンドウが削除されると、システムは保存されたビットマップを使用して、隠されていた他のウィンドウを含む画面イメージを復元します。 したがって、システムは、ビットマップで使用されるメモリが破棄されていない場合、および他の画面アクションによって保存されたイメージが無効になっていない場合に、隠されたウィンドウに WM_PAINTメッセージを 送信しません。 このスタイルは、他の画面アクティビティが発生する前に簡単に表示され、削除される小さなウィンドウ (メニューやダイアログ ボックスなど) に役立ちます。 このスタイルを使用すると、最初にビットマップを格納するためにメモリを割り当てる必要があるため、ウィンドウの表示に必要な時間が長くなります。 |
|
移動またはサイズ調整によってクライアント領域の高さが変更された場合は、ウィンドウ全体を再描画します。 |
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows 2000 Server [デスクトップ アプリのみ] |
ヘッダー |
|