以下是使用Windows.h头文件编写一个半透明背景的窗口的示例代码:

#include <Windows.h>

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    // 注册窗口类
    WNDCLASSEX wcex;
    wcex.cbSize = sizeof(WNDCLASSEX);
    wcex.style = CS_HREDRAW | CS_VREDRAW;
    wcex.lpfnWndProc = WndProc;
    wcex.cbClsExtra = 0;
    wcex.cbWndExtra = 0;
    wcex.hInstance = hInstance;
    wcex.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
    wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); // 用系统默认背景色
    wcex.lpszMenuName = NULL;
    wcex.lpszClassName = "TransparentWindowClass";
    wcex.hIconSm = LoadIcon(NULL, IDI_APPLICATION);

    RegisterClassEx(&wcex);

    // 创建窗口
    HWND hWnd = CreateWindowEx(
        WS_EX_LAYERED | WS_EX_TRANSPARENT, // 标记窗口为半透明
        "TransparentWindowClass",
        "半透明窗口",
        WS_OVERLAPPEDWINDOW,
        CW_USEDEFAULT,
        CW_USEDEFAULT,
        500,
        300,
        NULL,
        NULL,
        hInstance,
        NULL
    );

    if (!hWnd)
    {
        return -1;
    }

    // 设置窗口半透明度
    SetLayeredWindowAttributes(hWnd, 0, (255 * 80) / 100, LWA_ALPHA);

    ShowWindow(hWnd, nCmdShow);
    UpdateWindow(hWnd);

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

    return (int)msg.wParam;
}

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)
    {
    case WM_PAINT:
    {
        PAINTSTRUCT ps;
        HDC hdc = BeginPaint(hWnd, &ps);
        // 绘制内容
        TextOut(hdc, 10, 10, "Hello, World!", 13);
        EndPaint(hWnd, &ps);
    }
    break;
    case WM_DESTROY:
        PostQuitMessage(0);
        break;
    default:
        return DefWindowProc(hWnd, message, wParam, lParam);
    }
    return 0;
}

这段代码创建了一个名为"半透明窗口"的窗口,并将窗口的背景设置为半透明(透明度为80%)。在WM_PAINT消息处理程序中,绘制了一个简单的文本内容。你可以根据需要修改窗口的大小、位置、标题和绘制的内容

帮我用Windowsh头文件写一页面并设置背景为半透明透明度80

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

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