gpt4 book ai didi

C++ NetBeans Win32 hwnd 图标

转载 作者:行者123 更新时间:2023-11-30 05:35:59 29 4
gpt4 key购买 nike

我在 NetBeans 中向我的应用程序窗口添加图标时遇到困难。该代码与 Win32 相关。每当我将图标添加到资源文件夹(在 NetBeans IDE 中) 时,LoadImage()LoadIcon() 方法都无法检索图标文件,我得到的结果是这些截图:

所以我想知道,我放置图标的位置有问题吗?如果是这样,我可以把图标放在哪里? (下面的项目目录):

enter image description here

如果与位置无关,或者我使用的位置正确,是否是我使用的代码? (下面的代码):

WNDCLASSEX wc;
HWND hwnd;
MSG Msg;

//Step 1: Registering the Window Class
wc.cbSize = sizeof(WNDCLASSEX);
wc.style = 0;
wc.lpfnWndProc = WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wc.lpszMenuName = NULL;
wc.lpszClassName = g_szClassName;
wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION);

非常感谢您提供反馈。我真的很想知道这是怎么回事。谢谢。

-CA1K

编辑:上面显示的代码已设置回通常的状态,我只是想找到检索图标文件的方法。

最佳答案

@andlabs 是对的。 IDI_APPLICATION 在 WinUser.h 中定义为:

#define IDI_APPLICATION MAKEINTRESOURCE(32512)

你需要:

wc.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON));
wc.hIconSm = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_SMALLICON));

IDI_ICON 定义为数字的地方:

#define IDI_ICON 1

在 resource.rc 中:

IDI_ICON ICON "icon.ico"

这将设置任务栏中的图标。对于标题栏中的图标,请在 WM_CREAT 中使用:

HICON hicon = (HICON)LoadImage(GetModuleHandleW(NULL), MAKEINTRESOURCE(IDI_ICON), 
IMAGE_ICON, 0, 0, LR_DEFAULTCOLOR | LR_DEFAULTSIZE);
SendMessage(hWnd, WM_SETICON, ICON_BIG, (LPARAM)hicon);

-------------------------------------------- ----------

编辑:

简单的测试,试试

在resource.rc 文件中:

1 ICON "icon.ico"

在 .cpp 文件中:

wc.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(1));

关于C++ NetBeans Win32 hwnd 图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33661833/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com