Вы можете рисовать свои собственные свернутые окна, а не их системное рисование для Вас. Большинство приложений определяет значок класса, регистрируя класс окна для окна, а система рисует значок, когда окно минимизировано (свернуто). Хотя Вы устанавливаете значок класса в NULL, тем не менее система отправляет сообщение WM_PAINT Вашей оконной процедуре всякий раз, когда окно минимизировано, позволяя оконной процедуре рисовать в свернутом окне.
В примере ниже, оконная процедура рисует звезду в свернутом окне. Процедура использует функцию IsIconic, чтобы определить, когда окно свернуто. Это гарантирует то, что звезда рисуется только тогда, когда, окно минимизировано.
POINT aptStar[6] = {50,2, 2,98, 98,33, 2,33, 98,98, 50,2}; . . . case WM_PAINT: hdc = BeginPaint(hwnd, &ps); // Определяем, минимизировано ли окно. 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 для класса окна.