Partilhar via


Desenhando uma janela minimizada

Você pode desenhar suas próprias janelas minimizadas em vez de fazer com que o sistema as desenhe para você. A maioria dos aplicativos define um ícone de classe ao registrar a classe de janela para a janela e o sistema desenha o ícone quando a janela é minimizada. No entanto, se você definir o ícone de classe como NULL, o sistema enviará uma mensagem WM_PAINT para o procedimento de janela sempre que a janela for minimizada, permitindo que o procedimento de janela desenhe na janela minimizada.

No exemplo a seguir, o procedimento de janela desenha um star na janela minimizada. O procedimento usa a função IsIconic para determinar quando a janela é minimizada. Isso garante que a star seja desenhada somente quando a janela for minimizada.

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; 

Defina o ícone de classe como NULL definindo o membro hIcon da estrutura WNDCLASS como NULL antes de chamar a função RegisterClass para a classe de janela.