添加图标资源而不改变EXE图标?
我已将图标资源添加到我的程序中。不幸的是,它是一个 16x16 图标,旨在作为按钮上的视觉辅助,现在它被设置为可执行文件的主图标。显然,这看起来很糟糕。
是否可以添加资源,同时保留 EXE 图标作为 Windows 默认图标?
我正在使用 Visual Studio 2010,如果有帮助的话。
I've added an icon resource to my program. Unfortunately, it's a 16x16 icon meant as a visual aid on a button, and now it's set as the executable's main icon. Obviously, this looks terrible.
Is it possible to add a resource while retaining the EXE's icon as the Windows default?
I'm using Visual Studio 2010, if that helps.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
看起来您的 16x16 图标是应用程序中唯一的图标资源,或者是具有最小标识符的图标资源。在这种情况下,资源管理器(对于其文件列表)和窗口管理器(对于窗口的标题栏)都将默认为该图标。
您应该向应用程序添加另一个图标,其 id 小于 16x16 图标的 id,这样它将成为默认图标。如果您想使用默认的应用程序图标,可以从 Visual Studio 获取它图片库。
It looks like your 16x16 icon is the only icon resource in your application, or the one with the smallest identifier. In that case, both Explorer (for its file lists) and the window manager (for the window's title bar) will default to that icon.
You should add another icon to your application, with an id less than the id of your 16x16 icon, so it will become the default icon. If you want to use the default application icon, you can get it from the Visual Studio Image Library.
您可以手动完成。您可以在resource.h、rc 文件中添加标识符,然后通过使用参数MAKEINTRESOURCE(IDENTFIER) 调用所需函数来使用它,以将id 转换为图像。
You can do it manually. You can add an identifier in resource.h, rc file and then use it by calling required function with parameter MAKEINTRESOURCE(IDENTFIER) to make the cast from id to image.
一种选择是将图标放在单独的模块中,即 DLL。这将停止系统将它们用作应用程序图标,并避免需要添加您自己的默认系统应用程序图标的副本。
One option would be to put your icons in a separate module, i.e. a DLL. This would stop the system using them for application icons and avoid the need to add your own copy of the default system application icon.