首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在nana C++图形用户界面应用程序中设置窗口图标

在nana C++图形用户界面应用程序中设置窗口图标
EN

Stack Overflow用户
提问于 2017-03-23 08:24:48
回答 2查看 634关注 0票数 2

我正在使用nana在我的C++应用程序中构建图形用户界面,它基本上工作得很好。但是,在Windows下设置窗口图标时遇到问题:

代码语言:javascript
复制
nana::API::window_icon_default(nana::paint::image("hunger.ico"));

在与可执行文件相同的文件夹中肯定有一个文件hunger.ico,我仔细检查过了。该图标文件的大小为32x32 (或16x16)。我还尝试检索图标文件的完整路径,如下所示:

代码语言:javascript
复制
wchar_t buffer[MAX_PATH];
DWORD len = sizeof(buffer);
GetModuleFileName(nullptr, buffer, len);
std::wstring ws(buffer);
// concatenate ws and "hunger.ico" here

但是,当我从VS2015中运行(控制台)应用程序时,使用的是默认窗口图标。你知道我这里遗漏了什么吗?

EN

回答 2

Stack Overflow用户

发布于 2017-07-06 21:14:27

这个电话对我来说很好。图标将出现在应用程序窗口标题栏和任务栏中。

代码语言:javascript
复制
nana::API::window_icon(
    myform.handle(),
    nana::paint::image("myicon.ico"));

你需要传入申请表的句柄(为什么?( window_icon()不应该接受表单并为自己提取句柄吗?)并且图标文件需要位于具有所需不同分辨率的工作文件夹中

票数 1
EN

Stack Overflow用户

发布于 2017-03-24 05:18:10

我希望金豪能够解决将图标加载到正在运行的程序中的问题。

...but,我不确定,但是如果你想让你的.exe文件甚至在windows资源管理器中使用你的ico/bmp,你将需要将它包含到.exe中,而nana一个人可能无法做到这一点。通过将图标作为资源添加到VS项目中,我解决了这个“问题”:在解决方案资源管理器中,右键单击并添加...一种资源...选择一个图标,这可能是新的.这将启动一个图标编辑器,您可以在其中将任何图像格式导入到您的图标。您只需要在编译时使用图像文件,而在运行时不需要。

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

https://stackoverflow.com/questions/42965070

复制
相关文章

相似问题

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