我知道在窗口标题栏或任务栏中使用了hIconSm。
但是,hIcon代表什么,我读到该图标应为24x24,并显示在Alt + Tab对话框中,但是在Windows 7中,Alt + Tab对话框未显示图标,因此我仍应指定24x24图标吗?
另外,当我调用LoadImage()并指定图标大小时,LoadImage()是否从ICO文件中检索最大的图标并将其大小调整为指定的大小,还是从中检索具有指定大小的适当图标(如果存在)? ICO文件?
这是我用的:
wc.hIcon = (HICON)LoadImage(hInstance, MAKEINTRESOURCE(1), IMAGE_ICON, 32, 32, 0);
wc.hIconSm = (HICON)LoadImage(hInstance, MAKEINTRESOURCE(1), IMAGE_ICON, 16, 16, 0);
最佳答案
您不应将16或32硬编码为值。而是使用GetSystemMetrics
:
wc.hIcon = (HICON)LoadImage(hInstance,
MAKEINTRESOURCE(1), IMAGE_ICON,
::GetSystemMetrics(SM_CXICON),
::GetSystemMetrics(SM_CYICON), 0);
wc.hIconSm = (HICON)LoadImage(hInstance,
MAKEINTRESOURCE(1), IMAGE_ICON,
::GetSystemMetrics(SM_CXSMICON),
::GetSystemMetrics(SM_CYSMICON), 0);
关于c++ - WNDCLASSEX结构中的hIcon和hIconSm应该使用什么值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27348632/