Rajzolás az ügyfélterületen
A BeginPaint és EndPaint függvényekkel készítheti elő és fejezheti be a rajzot az ügyfélterületen. BeginPaint egy fogantyút ad vissza az ügyfélterületen való rajzoláshoz használt megjelenítési eszközkörnyezethez; EndPaint befejezi a festési folyamatot, és felszabadítja az eszközkörnyezetet.
Az alábbi példában az ablak eljárása a "Hello, Windows!" üzenetet írja az ügyfélterületen. Annak érdekében, hogy a sztring látható legyen az ablak létrehozásakor, a WinMain függvény közvetlenül az ablak létrehozása és megjelenítése után meghívja UpdateWindow. Ez azt eredményezi, hogy egy WM_PAINT üzenet azonnal el lesz küldve az ablak eljárásának.
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;
}