更改标题栏图标时,如何正确使用 LoadIcon 和 MAKEINTRESOURCE

How do I use LoadIcon and MAKEINTRESOURCE correctly when changing the title bar icon?

本文关键字:LoadIcon MAKEINTRESOURCE 何正确 标题栏 图标      更新时间:2023-10-16

我正在用Code:Blocks c++ win32做一个项目。我在这个光荣的页面上阅读了LoadIcon和MAKEINTRESOURCE的使用。但是,我似乎没有正确使用它们。我用绿鱼创建了一个图标,并将其命名为"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 */

接下来我应该怎么做?任何帮助都非常感谢。谢谢。

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

有关详细信息,请参阅加载映像文档。