Win32 CreateWindowEx()窗口图标无法正常显示

时间:2011-07-04 20:50:47

标签: c winapi icons titlebar

我使用CreateWindowEx创建窗口,但我只在任务栏中显示一个图标;窗口的标题栏和I Alt + Tab显示此类虚拟图标时显示的图标:default Windows icon。我将hIcon中的hIconSmWNDCLASSEX字段设置为从::LoadIcon(hInstance, IDI_APPLICATION)返回的值(非空)。

.ico文件本身是由.png制作的,我通过http://converticon.com生成了16x16,32x32和96x96(建议的大小是多少?)。可能是我使用了错误的尺寸或颜色深度?如果是这样,为什么它在任务栏(不同大小)中有效?谢谢!

1 个答案:

答案 0 :(得分:4)

图标必须在某处定义为资源。在您的资源标题中应该有这样一行:

#define IDI_MYICON 1000

然后在你对LoadIcon()的调用中它应该是这样的:

wc.hIcon = LoadIcon(hinstance, MAKEINTRESOURCE(IDI_MYICON));

如果您使用的是Visual Studio,则可以轻松添加资源。只需右键单击解决方案资源管理器中的资源。