在工作区中绘图
使用 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;
}