最小化されたウィンドウの描画
システムでウィンドウを描画するのではなく、最小化された独自のウィンドウを描画できます。 ほとんどのアプリケーションでは、ウィンドウのウィンドウ クラスを登録するときにクラス アイコンを定義し、ウィンドウが最小化されたときにアイコンが描画されます。 ただし、クラス アイコンを NULL に設定すると、ウィンドウが最小化されるたびに、ウィンドウ プロシージャに WM_PAINT メッセージが送信され、ウィンドウ プロシージャが最小化されたウィンドウに描画できるようになります。
次の例では、ウィンドウ プロシージャは最小化されたウィンドウにstarを描画します。 このプロシージャでは 、IsIconic 関数を使用して、ウィンドウが最小化されるタイミングを決定します。 これにより、ウィンドウが最小化されている場合にのみ、starが描画されます。
POINT aptStar[6] = {50,2, 2,98, 98,33, 2,33, 98,98, 50,2};
.
.
.
case WM_PAINT:
hdc = BeginPaint(hwnd, &ps);
// Determine whether the window is minimized.
if (IsIconic(hwnd))
{
GetClientRect(hwnd, &rc);
SetMapMode(hdc, MM_ANISOTROPIC);
SetWindowExtEx(hdc, 100, 100, NULL);
SetViewportExtEx(hdc, rc.right, rc.bottom, NULL);
Polyline(hdc, aptStar, 6);
}
else
{
TextOut(hdc, 0,0, "Hello, Windows!", 15);
}
EndPaint(hwnd, &ps);
return 0L;
ウィンドウ クラスの RegisterClass 関数を呼び出す前に、WNDCLASS 構造体の hIcon メンバーを NULL に設定することで、クラス アイコンを NULL に設定します。