클라이언트 영역에서 그리기
BeginPaint 및 EndPaint 함수를 사용하여 클라이언트 영역에서 그리기를 준비하고 완료합니다. BeginPaint 는 클라이언트 영역에서 그리는 데 사용되는 디스플레이 디바이스 컨텍스트에 대한 핸들을 반환합니다. EndPaint 는 페인트 요청을 종료하고 디바이스 컨텍스트를 해제합니다.
다음 예제에서 창 프로시저는 클라이언트 영역에 "Hello, Windows!" 메시지를 씁니다. 창을 처음 만들 때 문자열이 표시되는지 확인하기 위해 WinMain 함수는 창을 만들고 표시 한 직후 UpdateWindow 를 호출합니다. 이로 인해 WM_PAINT 메시지가 창 프로시저로 즉시 전송됩니다.
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;
}