【问题标题】:Win32 CreateWindowEx() window icon not showing properlyWin32 CreateWindowEx() 窗口图标未正确显示
【发布时间】:2011-09-28 09:23:14
【问题描述】:

我使用 CreateWindowEx 创建了我的窗口,但我只在任务栏中得到一个图标;窗口的标题栏和当我 Alt+Tab 显示这种类型的虚拟图标时显示的图标:。我将WNDCLASSEX 中的hIconhIconSm 字段都设置为::LoadIcon(hInstance, IDI_APPLICATION) 返回的值(非NULL)。

.ico 文件本身是由我通过http://converticon.com 生成的 .png 文件制成的,大小分别为 16x16、32x32 和 96x96(顺便说一句,推荐的尺寸是多少?)。会不会是我使用了错误的尺寸或颜色深度?如果是这样,为什么它在任务栏中工作(不同大小)?谢谢!

【问题讨论】:

    标签: c winapi icons titlebar


    【解决方案1】:

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

    #define IDI_MYICON 1000
    

    然后在您调用 LoadIcon() 时应该是这样的:

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

    如果您使用的是 Visual Studio,那么添加资源非常容易。只需右键单击解决方案资源管理器中的资源。

    【讨论】:

      猜你喜欢
      • 2022-01-03
      • 1970-01-01
      • 1970-01-01
      • 2012-03-28
      • 2020-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多