如何向 CMake 项目中的 Win32API 窗口添加图标

问题描述 投票:0回答:1

我正在制作一个 C++ 框架,它提供窗口、事件、输入和渲染,作为我所有 2D 和 3D 模拟的基础。因为我是用本机 API 制作的,所以我想知道是否有人知道如何更改 Windows 中窗口上的图标(如果可能的话,不要使用 rc 文件,因为我是用 CMake 和 Clang 构建的)。

尝试过这个:

WNDCLASSEX wc = {}
wc.hIcon = LoadIconA(hInstance, MAKEINTRESOURCE("icon.ico"));

感谢您的宝贵时间!

c++ c windows winapi
1个回答
0
投票

我通过这个解决了它:

@IInspectable 建议我通过 LoadImage 加载图标

HICON hIcon = static_cast<HICON>(LoadImage(
    mConnection,
    "icon.ico", // Path to your icon file or
                // resource ID
    IMAGE_ICON, GetSystemMetrics(SM_CXICON),
    GetSystemMetrics(SM_CYICON), LR_LOADFROMFILE | LR_DEFAULTSIZE));

if(hIcon) {
    SendMessageA(mHandle, WM_SETICON, ICON_BIG,
                 reinterpret_cast<LPARAM>(hIcon));
    SendMessageA(mHandle, WM_SETICON, ICON_SMALL,
                 reinterpret_cast<LPARAM>(hIcon));
}
© www.soinside.com 2019 - 2024. All rights reserved.