我想定义一个 Win32 窗口的应用程序图标,例如通过使用 SetClassLong
调用 GCL_HICON
并将句柄传递给图标(请参阅 MSDN 上的 SetClassLong Function)。
这很好用,但我还没有弄清楚应该如何加载图标(从 ICO 文件)以保留所有可用尺寸(例如 16x16、32x32、48x48 和全尺寸 PNG 图标)。当我通过 LoadImage
将图标文件加载到内存中以获取 HICON
时,我必须指定我想要的大小(请参阅我的 reply to a related question )。
我的 ICO 文件包含一个小尺寸的图像,它应该用作窗口图标(标题栏的左上角),并且设计得非常清晰,但也有较大的变体,应该显示在 Alt-Tab 对话框中,但是...
有没有办法告诉 Windows 我的 Windows 有一个多尺寸图标?是否有一些我错过的明显 API?
最佳答案
GCL_HICON 设置“大”图标,GCL_HICONSM 设置小图标(大小通常为 32x32 和 16x16,但您应该使用 GetSystemMetrics 和 SM_CXICON 和 SM_CXSMICON 来查找实际大小(对于大图标,您也可以将 LR_DEFAULTSIZE 传递给 LoadImage) 0 尺寸))
关于windows - 如何在窗口上设置 HICON(具有多种尺寸的 .ICO)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2234988/