首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Windows标题栏图标

Windows标题栏图标
EN

Stack Overflow用户
提问于 2019-05-23 19:27:33
回答 2查看 1.1K关注 0票数 0

我在为我的应用程序设置标题栏图标时遇到问题。

我一直在努力找出这个问题,用谷歌搜索出了什么问题,已经两天了,但没有任何成功。

MainWindow.cpp:

代码语言:javascript
复制
#include "../../res/Icons.h"

void MainWindow::Create(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine, int nCmdShow)
{
    const wchar_t CLASS_NAME[]  = L"MainWindow";
    WNDCLASSEX wc = {};
    wc.cbSize = sizeof(wc);
    wc.lpfnWndProc = WindowProc;
    wc.hInstance = hInstance;
    wc.lpszClassName = CLASS_NAME;
    wc.hIcon = LoadIcon(NULL,IDI_MYICON);
    wc.hIconSm = LoadIcon(NULL,IDI_MYICON);
    wc.hCursor = LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground = CreateSolidBrush(RGB(255,255,255));
    RegisterClassEx(&wc);

    HWND hwnd = CreateWindowEx(0, CLASS_NAME, wstring(Language::wText[1].begin(),Language::wText[1].end()).c_str(), WS_SYSMENU | WS_CAPTION | WS_MINIMIZEBOX, CW_USEDEFAULT, CW_USEDEFAULT, 640, 480, NULL, NULL, hInstance, NULL);
    ShowWindow(hwnd, nCmdShow);

    MSG msg = {};
    while (GetMessage(&msg, NULL, 0, 0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
}

Icons.h

代码语言:javascript
复制
#define IDI_MYICON 1000

Icons.rc

代码语言:javascript
复制
IDI_MYICON ICON "App.ico"

它编译得很好,图标显示在任务栏和可执行文件中,但不显示在标题栏中。该图标是尺寸为32x32的标准ico。我甚至尝试过使用LoadImage(),但效果相同。

EN

回答 2

Stack Overflow用户

发布于 2019-05-24 03:42:09

您正在将NULL传递给LoadIcon,您应该传递要从您自己的资源加载的应用程序的HINSTANCE

票数 1
EN

Stack Overflow用户

发布于 2019-05-24 13:18:56

资源头文件需要与图标文件(即#include "icon. h" in .rc )一起使用。rc),否则将找不到特定的图标文件(路径在.rc文件中指定)。此外,如果"icon.h“没有以空行结束,您将得到一个unexpected end of file found错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56274200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档