我使用 CreateWindowEx 创建我的窗口,但我只在任务栏中得到一个图标;窗口的标题栏和当我 Alt+Tab 时显示的图标都显示这种类型的虚拟图标: .我将 WNDCLASSEX
中的 hIcon
和 hIconSm
字段设置为从 ::LoadIcon(hInstance, IDI_APPLICATION)< 返回的值
(非 NULL)。
.ico 文件本身是由我通过 http://converticon.com 生成的 .png 制成的到 16x16、32x32 和 96x96(顺便说一句,推荐尺寸是多少?)。会不会是我使用了错误的尺寸或颜色深度?如果是这样,为什么它在任务栏(不同大小)中起作用?谢谢!
最佳答案
图标必须在某处定义为资源。在您的资源 header 中应该有这样一行:
#define IDI_MYICON 1000
然后在调用 LoadIcon() 时应该是这样的:
wc.hIcon = LoadIcon(hinstance, MAKEINTRESOURCE(IDI_MYICON));
如果您使用的是 Visual Studio,则添加资源非常容易。只需右键单击解决方案资源管理器中的资源。
关于c - Win32 CreateWindowEx() 窗口图标显示不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6575958/