加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows – 如何在窗口上设置HICON(.ICO有多种尺寸)?

发布时间:2020-12-14 05:52:04 所属栏目:Windows 来源:网络整理
导读:我想定义一个Win32窗口的应用程序图标,例如通过使用GCL_HICON调用SetClassLong并将句柄传递给图标(请参阅MSDN上的 SetClassLong Function). 这很好用,但我还没弄明白我应该如何加载图标(来自ICO文件)以保持所有可用尺寸(例如16×16,32×32,48×48和全尺寸PNG
我想定义一个Win32窗口的应用程序图标,例如通过使用GCL_HICON调用SetClassLong并将句柄传递给图标(请参阅MSDN上的 SetClassLong Function).

这很好用,但我还没弄明白我应该如何加载图标(来自ICO文件)以保持所有可用尺寸(例如16×16,32×32,48×48和全尺寸PNG图标).当我通过LoadImage将图标文件加载到内存中以获取HICON时,我必须指定我想要的大小(请参阅我的reply to a related question).

我的ICO文件包含一个小尺寸的图像,应该用作窗口图标(标题栏的左上角)并且设计得非常清晰,但也应该在Alt-Tab对话框中显示更大的变体,但是…

>加载16×16图标会在标题栏中显示正确的图标,但是 – 当然 – 当我使用Alt-Tab时,它是一个丑陋的拉伸版本.在任务栏中显示的那个也不是很漂亮.
>加载48×48图标在我的Alt-Tab时显示一个漂亮的图标,但标题栏中显示的图标模糊,因为它是48×48图标的缩小版本.

有没有办法告诉Windows我的Windows有一个多尺寸的图标?我错过了一些明显的API吗?

解决方法

GCL_HICON设置“大”图标,GCL_HICONSM设置小图标(大小通常为32×32和16×16,但您应该使用GetSystemMetrics与SM_CXICON和SM_CXSMICON来查找实际大小(对于大图标,您也可以将LR_DEFAULTSIZE传递给LoadImage与0尺寸))

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读