Windows窗口图标修改:为什么hIcon不起作用而hIconSm有效?
"WNDCLASSEX wc = { sizeof(WNDCLASSEX), CS_VREDRAW | CS_HREDRAW, WindowProc, 0, 0, hInstance, LoadIcon(NULL, IDI_APPLICATION), LoadCursor(NULL, IDC_ARROW), (HBRUSH)(COLOR_WINDOW + 1), NULL, className, LoadIcon(NULL, IDI_APPLICATION) };为什么这个改前面的hIcon不行,该后面的hIconsm才可以修改窗口图标"\n\n在这个代码中,wc是一个WNDCLASSEX结构体,用于注册窗口类。wc结构体中的hIcon成员用于指定窗口的图标,而hIconSm成员用于指定窗口的小图标(任务栏图标)。\n\n当你修改hIcon成员时,你会发现窗口的图标并没有改变。这是因为在创建窗口时,使用了LoadIcon(NULL, IDI_APPLICATION)函数来加载应用程序的默认图标作为窗口的图标。因此,修改hIcon成员不会影响窗口的图标。\n\n而当你修改hIconSm成员时,你会发现窗口的小图标(任务栏图标)会改变。这是因为在创建窗口时,使用了LoadIcon(NULL, IDI_APPLICATION)函数来加载应用程序的默认图标作为窗口的小图标。因此,修改hIconSm成员会影响窗口的小图标。\n\n如果你想要修改窗口的图标,你可以自行加载一个图标文件,然后将其句柄赋值给hIcon成员,例如:\n\n\nwc.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_MYICON));\n\n\n其中IDI_MYICON是你自定义的图标资源的ID。这样就能够修改窗口的图标了。
原文地址: https://www.cveoy.top/t/topic/qfdv 著作权归作者所有。请勿转载和采集!