在 nana C++ GUI 应用程序中设置窗口图标
Posted
技术标签:
【中文标题】在 nana C++ GUI 应用程序中设置窗口图标【英文标题】:Setting the window icon in a nana C++ GUI application 【发布时间】:2017-03-23 00:24:48 【问题描述】:我正在使用nana 在我的 C++ 应用程序中构建 GUI,它基本上可以正常工作。但是,我在 Windows 下设置窗口图标时遇到问题:
nana::API::window_icon_default(nana::paint::image("hunger.ico"));
在与可执行文件相同的文件夹中肯定有一个文件hunger.ico
,我仔细检查了。该图标文件的大小为 32x32(或 16x16)。我还尝试检索图标文件的完整路径,如下所示:
wchar_t buffer[MAX_PATH];
DWORD len = sizeof(buffer);
GetModuleFileName(nullptr, buffer, len);
std::wstring ws(buffer);
// concatenate ws and "hunger.ico" here
但是当我在 VS2015 中运行(控制台)应用程序时,会使用默认的窗口图标。有什么我在这里想念的想法吗?
【问题讨论】:
【参考方案1】:这个电话很适合我。图标出现在应用程序窗口标题栏和任务栏中。
nana::API::window_icon(
myform.handle(),
nana::paint::image("myicon.ico"));
您需要传入应用程序表单的句柄(为什么?window_icon() 不应该接受表单并为自己提取句柄吗?)并且图标文件需要在具有不同分辨率的工作文件夹中
【讨论】:
【参考方案2】:希望金豪能解决加载图标到正在运行的程序的问题。
...但是,我不确定,但是如果您想要的 .exe 文件即使在 Windows 资源管理器中也可以使用您的 ico/bmp 进行说明,您需要将其包含到 .exe 中,并且可能只有娜娜一个人做不到。我通过将图标作为资源添加到 VS 项目来解决了这个“问题”:在解决方案资源管理器中右键单击并添加...一个资源...选择一个图标,可以是新的...启动一个图标编辑器,您可以从中将任何图像格式导入您的图标。您将只在编译时需要图像文件,而在运行时则不需要。
【讨论】:
以上是关于在 nana C++ GUI 应用程序中设置窗口图标的主要内容,如果未能解决你的问题,请参考以下文章