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;
}