Рисование свернутого окна
Вы можете рисовать собственные свернутые окна, а не рисовать их за вас. Большинство приложений определяют значок класса при регистрации класса окна для окна, а система рисует значок, когда окно свернуто. Однако если для значка класса задано значение 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;
Для значка класса задается значение NULL , задав члену hIcon структуры WNDCLASSзначение NULL перед вызовом функции RegisterClass для класса окна.