如何修复加载图标()函数不显示图标?
How do I fix LoadIcon() Function not displaying icon?
我正在尝试使用LoadIcon()
功能为我的3D游戏的应用程序窗口使用自定义图标(有关3D游戏的详细信息,请参阅我在此网站上的第一个问题(。 我初始化了实例句柄,就像我在代码论坛站点上看到的那样(与此类似,我什至没有注册它(,这是调用GetModuleHandle()
函数并将其参数设置为NULL
. 然后,我将图像的文件名用于与可执行文件位于同一文件夹中的hIcon
和hIconSm
(我最初将文件与源代码放在同一文件夹中,但这似乎不起作用(。这是我WNDCLASSEX
对象初始化代码(其中也有HINSTANCE
初始化(:
HINSTANCE hinstance;
hinstance = GetModuleHandle(NULL);
WNDCLASSEX wc;
wc.cbClsExtra = NULL;
wc.cbSize = sizeof(WNDCLASSEX);
wc.cbWndExtra = NULL;
wc.hbrBackground = (HBRUSH)COLOR_WINDOW;
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hIcon = LoadIcon(hinstance, "ArtificialIconLg.png");
wc.hIconSm = LoadIcon(hinstance, "ArtificialIcon.ico");
wc.hInstance = NULL;
wc.lpszClassName = "MyWindowClass";
wc.lpszMenuName = "";
wc.style = NULL;
wc.lpfnWndProc = &WndProc;
我还将包括我的CreateWindowEx()
函数:
m_hwnd = ::CreateWindowEx(WS_EX_OVERLAPPEDWINDOW, "MyWindowClass", "Artificial", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 1024, 768, NULL, NULL, NULL, window);
LoadIcon
仅从编译为 EXE 和 DLL 的资源中加载美术资源。 它将资源 ID 作为第二个参数。(它键入字符串的事实使其令人困惑(。 另外,我认为您不能直接通过 LoadIcon 加载 png 文件。
将.ico文件与 Visual Studio 项目一起添加到资源文件(.rc 文件(中,并在 resources.h 文件中添加相应的标识符。 Visual Studio为您完成大部分工作,只需右键单击并添加即可。
然后在代码中:
wc.hIcon = LoadIcon(hinstance, MAKEINTRESID(ICO_ARTIIFICIAL));
wc.hIconSm = LoadIcon(hinstance, MAKEINTRESID(ICO_ARTIIFICIAL));
相关文章:
- 如何修复加载图标()函数不显示图标?
- Windows 资源管理器中的图标在使用 resource.rc 时显示 2 个不同的图标
- 如何使用IExecuteCommand和动词在上下文菜单外壳扩展中显示本地化文本和自定义图标?
- 如何在 wxWIdget 中显示清晰的图标
- 如何使用QSplashScreen时显示任务栏图标
- GTK 卷按钮图标显示初始值 c++
- 隐藏自定义应用程序窗口,但应在任务栏上显示应用程序图标(不是作为托盘图标)
- 如何使用C 更改Omnet 中模块的显示图标
- Winapi在屏幕上使用MouseClick活动显示图标
- qsqlrelationaltablemodel显示图标而不是数据
- 无法显示应用程序的新图标
- SHELL_NOTIFYICON:尝试引用不存在的令牌,没有显示图标
- 使用 c++ 如何在查找器中显示覆盖图标 mac osx.
- 为什么 lnk 图标无法正确显示?
- 如何在qt中显示闪烁的[动画]红色/绿色状态图标
- SVG图标不会显示在Qt5中
- QT/C++,OS X:退出应用程序时可选择隐藏(),以便应用程序继续运行,并在单击dock中的图标后再次显示
- 如何创建图标上显示文本的QPushButton
- 日食 CDT 显示错误图标
- 使用资源中的PNG图标显示Win32弹出菜单