Dibujo en el área de cliente
Las funciones BeginPaint y EndPaint se usan para preparar y completar el dibujo en el área cliente. BeginPaint devuelve un identificador al contexto del dispositivo de visualización utilizado para dibujar en el área cliente; EndPaint finaliza la solicitud de pintura y libera el contexto del dispositivo.
En el ejemplo siguiente, el procedimiento de ventana escribe el mensaje "Hello, Windows!" en el área cliente. Para asegurarse de que la cadena está visible cuando se crea por primera vez la ventana, la función WinMain llama a UpdateWindow inmediatamente después de crear y mostrar la ventana. Esto hace que un mensaje de WM_PAINT se envíe inmediatamente al procedimiento de ventana.
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;
}