Dela via


Rita ett minimerat fönster

Du kan rita egna minimerade fönster i stället för att låta systemet rita dem åt dig. De flesta program definierar en klassikon när du registrerar fönsterklassen för fönstret, och systemet ritar ikonen när fönstret minimeras. Om du anger klassikonen till NULLskickar systemet dock ett WM_PAINT meddelande till din fönsterprocedur när fönstret minimeras, vilket gör att fönsterproceduren kan utföra ritoperationer i det minimerade fönstret.

I följande exempel ritar fönsterproceduren en stjärna i det minimerade fönstret. Proceduren använder funktionen IsIconic för att avgöra när fönstret minimeras. Detta säkerställer att stjärnan endast ritas när fönstret minimeras.

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; 

Du ställer in klassikonen på NULL- genom att ange hIcon medlem i WNDCLASS- struktur till NULL- innan du anropar funktionen RegisterClass för fönsterklassen.