Dessin dans la zone cliente
Vous utilisez les fonctions BeginPaint et EndPaint pour préparer et terminer le dessin dans la zone cliente. BeginPaint retourne un handle au contexte de périphérique d’affichage utilisé pour dessiner dans la zone cliente ; EndPaint met fin à la demande de peinture et libère le contexte de l’appareil.
Dans l’exemple suivant, la procédure de fenêtre écrit le message « Hello, Windows! » dans la zone cliente. Pour s’assurer que la chaîne est visible lors de la première création de la fenêtre, la fonction WinMain appelle UpdateWindow immédiatement après la création et l’affichage de la fenêtre. Cela entraîne l’envoi immédiat d’un message WM_PAINT à la procédure de fenêtre.
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;
}