首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CWnd图标发生了什么

CWnd图标发生了什么
EN

Stack Overflow用户
提问于 2010-12-22 17:09:08
回答 1查看 808关注 0票数 1

我有一个动态创建的CWnd窗口,标题栏区域和任务栏的图标似乎是随机选取的。

要设置图标,我调用:

代码语言:javascript
复制
// Set the icon for this dialog.  The framework does this automatically when the application's main window is not a dialog
m_hIcon = AfxGetApp()->LoadIconW(IDI_ICON);
SetIcon(m_hIcon, TRUE);         // Set big icon
SetIcon(m_hIcon, FALSE);        // Set small icon

与MFC示例一样,但似乎始终选择并缩小了32x32图标,即使有其他更接近的匹配也是如此。标题栏中的图标实际上只有16x16,但它是从32x32版本创建的。

当32x32图标比16x16图标更详细时,这会导致混乱,因为缩小的图标看起来像一个模糊的图标。

CFrameWnd窗口似乎在某种程度上表现不同,因为它们似乎选择了更接近的匹配。

有没有人知道如何在标题栏中强制提要较小的图标,以便我可以将较大的图标保留在W7任务栏中?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-22 18:09:04

这是LoadIcon,不是LoadIconW,这是偶然编译的。MFC方法使用LoadIcon() API函数。SDK文档中:

LoadIcon只能加载大小符合SM_CXICON和SM_CYICON系统指标值的图标。使用LoadImage函数加载其他大小的图标。

请改用LoadImage(),以便可以传递适当的大小。进行两次调用以检索一个大版本和一个小版本。或者将小图标图像存储在具有另一个资源ID的另一个图标中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4507649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档