Zeichnen im Clientbereich
Sie verwenden die Funktionen BeginPaint und EndPaint, um die Zeichnung im Clientbereich vorzubereiten und zu vervollständigen. BeginPaint gibt ein Handle für den Anzeigegerätekontext zurück, der zum Zeichnen im Clientbereich verwendet wird. EndPaint beendet die Farbanforderung und gibt den Gerätekontext frei.
Im folgenden Beispiel schreibt die Fensterprozedur die Meldung "Hello, Windows!" im Clientbereich. Um sicherzustellen, dass die Zeichenfolge beim ersten Erstellen des Fensters sichtbar ist, ruft die WinMain-Funktion UpdateWindow unmittelbar nach dem Erstellen und Anzeigen des Fensters auf. Dies bewirkt, dass eine WM _ PAINT-Nachricht sofort an die Fensterprozedur gesendet wird.
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;
}