C++Windowsh库绘制800x600的窗口设置255255255颜色边框232232232颜色的长200高于窗口高相同的的长方形位于00坐标并且设置背景为240242245颜色
下面是使用C++和Windows.h库绘制800x600的窗口,并设置特定颜色和大小的长方形的示例代码:
#include <Windows.h>
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
// 创建窗口类
WNDCLASSEX wc = { sizeof(WNDCLASSEX), CS_VREDRAW | CS_HREDRAW, WindowProc, 0, 0, hInstance, LoadIcon(NULL, IDI_APPLICATION),
LoadCursor(NULL, IDC_ARROW), (HBRUSH)(COLOR_WINDOW + 1), NULL, "MyWindowClass", LoadIcon(NULL, IDI_APPLICATION) };
// 注册窗口类
RegisterClassEx(&wc);
// 创建窗口
HWND hwnd = CreateWindowEx(0, "MyWindowClass", "My Window", WS_OVERLAPPEDWINDOW, 0, 0, 800, 600, NULL, NULL, hInstance, NULL);
// 设置窗口背景颜色
HBRUSH hBrush = CreateSolidBrush(RGB(240, 242, 245));
SetClassLongPtr(hwnd, GCLP_HBRBACKGROUND, (LONG_PTR)hBrush);
// 显示窗口
ShowWindow(hwnd, nCmdShow);
// 消息循环
MSG msg;
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return (int)msg.wParam;
}
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
PAINTSTRUCT ps;
HDC hdc;
switch (uMsg)
{
case WM_PAINT:
hdc = BeginPaint(hwnd, &ps);
// 绘制背景矩形
RECT rect = { 0, 0, 200, 600 };
HBRUSH hBrush = CreateSolidBrush(RGB(255, 255, 255));
FillRect(hdc, &rect, hBrush);
// 绘制边框矩形
RECT borderRect = { 0, 0, 200, 600 };
HBRUSH hBorderBrush = CreateSolidBrush(RGB(232, 232, 232));
FrameRect(hdc, &borderRect, hBorderBrush);
EndPaint(hwnd, &ps);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd, uMsg, wParam, lParam);
}
return 0;
}
在上述示例代码中,我们创建了一个窗口类,并注册了一个回调函数 WindowProc 来处理窗口消息。在 WinMain 函数中,我们创建了一个800x600大小的窗口,并将窗口背景颜色设置为(240,242,245)。在 WindowProc 函数中,我们处理了 WM_PAINT 消息,在窗口绘制时绘制了一个200x600大小的矩形,并设置了特定的颜色和边框颜色。
请注意,该示例代码仅演示了如何绘制窗口和矩形,并设置特定的颜色和大小。如果你想要添加更多的功能和交互性,你可能需要进一步研究和修改代码
原文地址: https://www.cveoy.top/t/topic/iavp 著作权归作者所有。请勿转载和采集!