c++ - 图标作为基础出现在窗口内的怪异图标

标签 c++ winapi mingw

我最近才发现如何将图标添加到 win32 项目,在我尝试之后我的应用程序上的基本图标工作正常但是当我打开应用程序时,左上角的实际 16x16 图标是一个问号一个泡泡

奇怪的是,当我不小心忘记在我的编译代码中加入 -mwindows 时,cmd 窗口有我特意想要的图标

这有意义吗

这里是一些代码

wc.hIcon = LoadIcon(NULL, MAKEINTRESOURCE(THEICON));

wc.hIconSm = LoadIcon(NULL, MAKEINTRESOURCE(THEICON));

也许视觉辅助会有所帮助

附言如果有人觉得慷慨,我没有创建新标签的特权,但有人可以添加“图标”

最佳答案

Windows 使用“第一个”图标资源作为应用程序图标。此图标由 Windows 资源管理器显示,例如控制台窗口,但不会自动用于您创建的窗口。注意:我记得“first”的定义各不相同,或者一开始就没有明确定义,但通常是具有最低 ID 的图标(如果结果是错误的,请检查一下)。

您提供的代码非常少,但您似乎正在向 API 级窗口类提供正确的图标。但是,使用 NULL 作为模块句柄意味着加载一个系统图标。将 NULL 替换为 GetModuleHandle( 0 )(如果我没记错的话,请检查)。

如果没有看到更完整的代码,就不能说更多。

干杯,

关于c++ - 图标作为基础出现在窗口内的怪异图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4273509/

相关文章:

c++11 评估顺序(未定义行为)

c++ - 模板忽略 [[nodiscard]] 属性

C Win32 API : Update Edit box when finished editting

.net - 如何配置 OpenFileDialog 来选择文件夹?

java - Windows 服务无法访问某些信息

Clion scanf 复制上一行

c++ - binary64 的 15-17 位有效小数位?

c++ - 如何正确扩展这个宏?

c# - 来自 C# : why do I have to override new/delete? 的 mingw DLL

gdb - 我可以使用 Code::Blocks 作为 MinGW GDB GUI 吗?