c++ - 在对话框窗口上使用图标 C++ Win32 API

标签 c++ winapi api dialog icons

我正在尝试创建一个顶部带有图标的对话框。

icon dialog

我正在使用资源文件来加载图标。

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/

相关文章:

c++ - std::string 内存泄漏

java - 使用 MVVM 和 Retrofit 调用我的 api 时没有得到我的响应?

Java - 是否有任何多平台 3D API?

node.js - 使用 ng 服务器 Angular 6 运行脚本

c++ - C++中的初始化列表

c++ - Qt中如何使用QSerialDevice?

C++ 系统函数不接受字符串?

delphi - EnumerateTraceGuids 返回 "The parameter is incorrect"(87)

winapi - 如何以编程方式在 Windows 中安装驱动器?

c++ - 如何使用线性渐变创建文本?