Share via


サイズ変更されたウィンドウ

システムは、ユーザーが [サイズ] や [最大化] などのウィンドウ メニュー コマンドを選択したとき、またはアプリケーションが SetWindowPos 関数などの関数を呼び出すときに、ウィンドウのサイズを変更します。 ウィンドウのサイズが変更されると、システムは、ウィンドウの以前に公開された部分の内容が影響を受けず、再描画する必要はないことを前提としています。 システムは、ウィンドウの新しく公開された部分のみを無効にし、最終的 なWM_PAINT メッセージがアプリケーションによって処理される時間を節約します。 この場合、ウィンドウ サイズが小さくなると、WM_PAINTは生成されません。

一部のウィンドウでは、ウィンドウのサイズを変更すると内容が無効になります。 たとえば、ウィンドウ内に適切に収まるように時計の顔を調整するクロック アプリケーションでは、ウィンドウのサイズが変更されるたびに時計を再描画する必要があります。 垂直方向、水平方向、または垂直方向と水平方向の両方の変更が行われたときに、システムがウィンドウのクライアント領域全体を強制的に無効にするには、アプリケーションは、ウィンドウ クラスを登録するときに、CS_VREDRAWまたはCS_HREDRAWスタイル、またはその両方を指定する必要があります。 これらのスタイルを持つウィンドウ クラスに属するウィンドウは、ユーザーまたはアプリケーションがウィンドウのサイズを変更するたびに無効になります。