c++ - 更改标题栏图标时如何正确使用 LoadIcon 和 MAKEINTRESOURCE?

标签 c++ winapi codeblocks

<分区>

我正在使用 Code:Blocks c++ win32 开发一个项目。我已经在这个荣誉页面上阅读了 LoadIcon 和 MAKEINTRESOURCE 的使用。但是,我似乎没有正确使用它们。我用 Greenfish 创建了一个图标并将其命名为“dvc 图标”。它的格式为“.ico”。

当我执行该程序时,出现错误代码“无法打开图标文件‘dvc icon.ico’:没有这样的文件或目录。

下面是代码。

#include <resource.h>

#define IDI_OWNERDRAW                   103
#define IDI_BUTTON_ICO                  201

#define IDI_dvc icon                    205


         /* Use default icon and mouse-pointer */
wincl.hIcon   = LoadImage (GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_dvc icon));
wincl.hIconSm = LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_dvc icon), IMAGE_ICON, 16, 16, 0);
wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
wincl.lpszMenuName = NULL;                 /* No me                                                                                                                                                                                                                                  u */
wincl.cbClsExtra = 0;                      /* No extra bytes after the window class */
wincl.cbWndExtra = 0;                      /* structure or the window instance */

接下来我该做什么? 任何帮助深表感谢。谢谢。

最佳答案

WNDCLASSEX 中有hIconhIconSm 类型HICON RegisterClassEx 使用的结构。它指定分别在窗口的任务栏和标题栏中使用什么图标。您可以使用 LoadImage 获取有效的图标句柄。将它与 MAKEINTRESOURCE 一起使用以从嵌入式资源中获取图标。

参见 LoadImage documentation了解详情。

关于c++ - 更改标题栏图标时如何正确使用 LoadIcon 和 MAKEINTRESOURCE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35578555/

相关文章:

c++ - HWND 的 HINSTANCE

winapi - 在 Windows 10 上找不到 SDK "Microsoft.VCLibs, Version=14.0"

c++ - 树莓派上的 "error: stray\255 in program"

c++ - 在数组中查找最相似的范围

C++:如何随机生成不同数字的序列?

c++ - 在函数返回的临时对象上调用成员函数是否安全(在函数返回之后)?

C++ - 对最近创建的类的 undefined reference !

c++ - 有没有一种方法可以将数据直接编码到硬盘驱动器(类似于使用 RAM 的方式)?

c - 如何使用#pragma pack(1) OR/Zp1 以便它们单独影响应用程序定义结构的打包,而不影响 Windows SDK 中定义的结构?

c++ - C++ 代码块的错误代码调试