我正在尝试创建一个顶部带有图标的对话框。
我正在使用资源文件来加载图标。
IDI_ICON1 ICON ".\\usb.ico"
我尝试使用以下代码设置窗口图标。
SendMessage(hwnd, WM_SETICON, ICON_SMALL, (LPARAM)IDI_ICON1);
SendMessage(hwnd, WM_SETICON, ICON_BIG, (LPARAM)IDI_ICON1);
hwnd 是窗口。结果,我得到一个蓝色圆圈,看起来就像 Windows 7 和 Vista 的加载图标。我几乎肯定图标正在正确加载,因为当我查看任务栏时,我的程序有代表我的程序的图标。如果您需要我用于对话窗口本身的代码,请告诉我我会发布它。我在 Windows 7 上使用 mingw32 C++ 编译器。谢谢!
最佳答案
使用 LoadIcon 并将图标句柄传递给 WM_SETICON。
HICON hicon = LoadImageW(GetModuleHandleW(NULL), MAKEINTRESOURCEW(IDI_ICONMAIN), IMAGE_ICON, 0, 0, LR_DEFAULTCOLOR | LR_DEFAULTSIZE);
SendMessageW(hwnd, WM_SETICON, ICON_BIG, hicon);
关于c++ - 在对话框窗口上使用图标 C++ Win32 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7410846/