Win32 CreateWindowEx() 窗口图标未正确显示
我使用 CreateWindowEx 创建窗口,但我只在任务栏中看到一个图标;窗口的标题栏和当我 Alt+Tab 时显示的图标都显示这种类型的虚拟图标:.我将 WNDCLASSEX
中的 hIcon
和 hIconSm
字段设置为从 ::LoadIcon(hInstance, IDI_APPLICATION)< 返回的值/代码>(非空)。
.ico 文件本身是由我通过 http://converticon.com 生成的 .png 制成的,尺寸为 16x16、32x32和 96x96(顺便说一句,推荐的尺寸是多少?)。难道是我使用了错误的尺寸或颜色深度?如果是这样,为什么它在任务栏(不同大小)中工作?谢谢!
I create my window using CreateWindowEx, but I only get an icon in the task bar; both the window's title bar and the icon that shows when I Alt+Tab show this type of dummy icon: . I set both the hIcon
and the hIconSm
fields in the WNDCLASSEX
to the value returned from ::LoadIcon(hInstance, IDI_APPLICATION)
(not NULL).
The .ico file itself was made out of a .png which I genereated through http://converticon.com to 16x16, 32x32 and 96x96 (what are the recommended sizes btw?). Could it be that I'm using the wrong sizes or color depth? If so, why does it work in the task bar (different size)? Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
图标必须在某处定义为资源。在您的资源标头中应该有这样一行:
然后在对 LoadIcon() 的调用中,它应该类似于:
如果您使用的是 Visual Studio,则添加资源非常容易。只需右键单击解决方案资源管理器中的资源即可。
The icon must be defined as a resource somewhere. In your resource header there should be a line like this:
Then in your call to LoadIcon() it should be something like:
If you're using Visual Studio it's pretty easy to add resources. Just right click Resources in the solution explorer.