Compartilhar via


Desenhando na área do cliente

Use as funções BeginPaint e EndPaint para preparar e concluir o desenho na área do cliente. BeginPaint retorna um identificador para o contexto do dispositivo de exibição usado para desenhar na área do cliente; EndPaint encerra a solicitação de pintura e libera o contexto do dispositivo.

No exemplo a seguir, o procedimento de janela grava a mensagem "Olá, Windows!" na área do cliente. Para garantir que a cadeia de caracteres esteja visível quando a janela é criada pela primeira vez, a função WinMain chama UpdateWindow imediatamente após criar e mostrar a janela. Isso faz com que uma mensagem de WM_PAINT seja enviada imediatamente para o procedimento de janela.

LRESULT APIENTRY WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) 
{ 
    PAINTSTRUCT ps; 
    HDC hdc; 
 
    switch (message) 
    { 
        case WM_PAINT: 
            hdc = BeginPaint(hwnd, &ps); 
            TextOut(hdc, 0, 0, "Hello, Windows!", 15); 
            EndPaint(hwnd, &ps); 
            return 0L; 

        // Process other messages.   
    } 
} 
 
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) 
{ 
    HWND hwnd; 
 
    hwnd = CreateWindowEx( 
        // parameters  
        ); 
 
    ShowWindow(hwnd, SW_SHOW); 
    UpdateWindow(hwnd); 
 
    return msg.wParam; 
}