酷代码 AI
菜单

c++windows api显示一个黑色的背景

以下是一个使用 Windows API 在窗口中显示黑色的 C++ 示例代码: ```cpp #include <windows.h> // 窗口过程函数 LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { case WM_PAINT: { PAINTSTRUCT ps; HDC hdc = BeginPaint(hwnd, &ps); // 获取窗口客户区的大小 RECT clientRect; GetClientRect(hwnd, &clientRect); // 创建一个黑色画刷 HBRUSH hBrush = CreateSolidBrush(RGB(0, 0, 0)); // 用黑色画刷填充客户区 FillRect(hdc, &clientRect, hBrush); // 释放画刷 DeleteObject(hBrush); EndPaint(hwnd, &ps); break; } case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hwnd, msg, wParam, lParam); } return 0; } // 主函数 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // 注册窗口类 WNDCLASS wc = {}; wc.lpfnWndProc = WndProc; wc.hInstance = hInstance; wc.lpszClassName = L"BlackBackgroundWindowClass"; RegisterClass(&wc); // 创建窗口 HWND hwnd = CreateWindow(wc.lpszClassName, L"Black Background Window", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 800, 600, NULL, NULL, hInstance, NULL); // 显示窗口 ShowWindow(hwnd, nCmdShow); UpdateWindow(hwnd); // 消息循环 MSG msg = {}; while (GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return (int)msg.wParam; } ``` 代码说明: 1. 窗口过程函数 `WndProc`:处理窗口消息。在 `WM_PAINT` 消息中,使用 `BeginPaint` 获取设备上下文,创建一个黑色画刷,用该画刷填充窗口的客户区,最后使用 `EndPaint` 结束绘制过程。 2. 主函数 `WinMain`: - 注册窗口类,指定窗口过程函数。 - 创建窗口并显示。 - 进入消息循环,不断获取和处理消息,直到收到 `WM_QUIT` 消息退出循环。 编译和运行: 将上述代码保存为 `.cpp` 文件,使用 Visual Studio 等 C++ 编译器进行编译和运行。运行后会弹出一个带有黑色的窗口。 [2026-01-23 15:10:00 | AI问答 | 690点数解答]

服务商
相关提问
发财导航,免费问AI
实用工具查看更多