在工作区中绘图

使用 BeginPaintEndPaint 函数在工作区中准备和完成绘图。 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; 
}