Menggambar di Area Antarmuka Pengguna
Anda menggunakan fungsi BeginPaint dan EndPaint untuk mempersiapkan dan menyelesaikan penggambaran di area klien. BeginPaint mengembalikan handel ke konteks perangkat tampilan/display yang digunakan untuk menggambar di area klien; EndPaint mengakhiri permintaan penggambaran dan melepaskan konteks perangkat.
Dalam contoh berikut, prosedur jendela menulis pesan "Halo, Windows!" di area klien. Untuk memastikan string terlihat saat jendela pertama kali dibuat, fungsiWinMainmemanggil UpdateWindow segera setelah membuat dan menampilkan jendela. Ini menyebabkan pesan WM_PAINT segera dikirim ke prosedur jendela.
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;
}