WindowsAPI-控件:Static

来自AI助手的总结
文章介绍了如何使用Windows API在C++中创建一个显示"Hello, UNICODE!"的静态控件。

使用WindowsAPI,创建一个static控件:

#include <windows.h>
#include <CommCtrl.h>

#pragma comment(lib, "comctl32.lib")

// 窗口过程函数
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) 
{
    switch (uMsg) 
    {
    case WM_CREATE:
        // 创建 STATIC 控件
        CreateWindow(
            TEXT("STATIC"),           // 控件类名
            TEXT("Hello, UNICODE!"), // 控件文本
            WS_VISIBLE | WS_CHILD,    // 控件样式
            10, 10,                   // x, y
            200, 30,                  // 宽度和高度
            hwnd,                     // 父窗口句柄
            NULL,                     // 控件 ID
            ((LPCREATESTRUCT)lParam)->hInstance, // 实例句柄
            NULL                      // 附加参数
        );
        break;

    case WM_DESTROY:
        PostQuitMessage(0);
        return 0;
    }
    return DefWindowProc(hwnd, uMsg, wParam, lParam);
}

// WinMain 函数
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) 
{
    // 注册窗口类
    const wchar_t CLASS_NAME[] = L"Sample Window Class";

    WNDCLASS wc = {};
    wc.lpfnWndProc = WindowProc;
    wc.hInstance = hInstance;
    wc.lpszClassName = CLASS_NAME;
    wc.hCursor = LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground = (HBRUSH)(COLOR_WINDOW);

    RegisterClass(&wc);

    // 创建窗口
    HWND hwnd = CreateWindowEx(
        0,
        CLASS_NAME,
        L"Static Control",
        WS_OVERLAPPEDWINDOW,
        CW_USEDEFAULT, CW_USEDEFAULT, 300, 200,
        NULL,
        NULL,
        hInstance,
        NULL
    );

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

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

编译器:

MSVC

样式:

20250502174135718-5b1da3383692d79872b5ed184a25ff6

 

 
 
温馨提示:本文最后更新于2025-05-02 17:41:40,某些文章具有时效性,若有错误或已失效,请在下方留言或联系 站长
© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容