以下是使用C++Windows.h库绘制800x600的窗口,设置颜色和边框的代码:

#include <iostream>
#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)
{
    // 注册窗口类
    const char* CLASS_NAME = "MyWindowClass";

    WNDCLASS wc = {};

    wc.lpfnWndProc = WindowProc;
    wc.hInstance = hInstance;
    wc.lpszClassName = CLASS_NAME;

    RegisterClass(&wc);

    // 创建窗口
    HWND hwnd = CreateWindowEx(
        0,                          // 扩展风格
        CLASS_NAME,                 // 窗口类名
        "My Window",                // 窗口标题
        WS_OVERLAPPEDWINDOW,        // 窗口样式
        CW_USEDEFAULT, CW_USEDEFAULT,  // 窗口位置
        800, 600,                   // 窗口大小
        NULL,                       // 父窗口句柄
        NULL,                       // 菜单句柄
        hInstance,                  // 应用程序实例句柄
        NULL                        // 窗口创建参数
    );

    if (hwnd == NULL)
    {
        return 0;
    }

    // 设置窗口背景颜色
    HBRUSH hBrush = CreateSolidBrush(RGB(240, 242, 245));
    SetClassLongPtr(hwnd, GCLP_HBRBACKGROUND, (LONG_PTR)hBrush);

    // 设置边框颜色
    SetClassLongPtr(hwnd, GCLP_BORDERCOLOR, (LONG_PTR)RGB(232, 232, 232));

    // 设置窗口不可调整大小
    SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) & ~WS_SIZEBOX);

    // 隐藏最小化按钮
    SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) & ~WS_MINIMIZEBOX);

    // 显示窗口
    ShowWindow(hwnd, nCmdShow);

    // 消息循环
    MSG msg = {};
    while (GetMessage(&msg, NULL, 0, 0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }

    return 0;
}

LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    switch (uMsg)
    {
    case WM_DESTROY:
        PostQuitMessage(0);
        return 0;

    case WM_PAINT:
    {
        PAINTSTRUCT ps;
        HDC hdc = BeginPaint(hwnd, &ps);

        // 绘制长方形
        HBRUSH hBrush = CreateSolidBrush(RGB(255, 255, 255));
        SelectObject(hdc, hBrush);
        Rectangle(hdc, 0, 0, 200, 600);

        EndPaint(hwnd, &ps);
    }
    return 0;
    }

    return DefWindowProc(hwnd, uMsg, wParam, lParam);
}

这段代码将创建一个800x600大小的窗口,设置背景颜色为(240,242,245)并绘制一个长为200,高度与窗口相同的长方形,边框颜色为(232,232,232)。同时,窗口被设置为不可调整大小,并且隐藏了最小化按钮

C++Windowsh库绘制800x600的窗口设置255255255颜色边框232232232颜色的长200高于窗口高相同的的长方形位于00坐标并且设置背景为240242245颜色窗口设为不可调并且隐藏最小化按钮

原文地址: https://www.cveoy.top/t/topic/iavB 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录