c++ - 获取 Windows API 标题栏图标

标签 c++ windows qt winapi

我正在开发一个使用 Qt 框架来处理大多数窗口绘图的项目。但是,我想在标题栏区域进行一些样式设置,因此我最终不得不引入一些 Windows API 来完成此操作。我的目标是一个类似 Chrome 的选项卡系统,位于标题栏区域。我已经有了我想要的行为(QWidget 选项卡在顶部,Win API 处理一些其他窗口方面,如最小化、最大化、aero 捕捉等)。

但是,我想知道如何显示标准窗口按钮(最小化、最大化/恢复、关闭)。现在,我正在通过位于正确位置的 QPushButton 并使用我提供的图标来创建自己的按钮,但理想情况下我想使用 native 图标。

我的问题:有没有办法使用 Windows API 获取这些按钮的图标?我在想一定有某种方法可以将图标作为 HICON 对象取回,但我似乎找不到任何东西。

最佳答案

对于主题控件(使用视觉样式的控件),您可以使用 DrawThemeBackground API 函数(类是 "WINDOW",各个部分让您绘制各个控件)。

对于非主题控件,您可以使用 DrawFrameControl类型设置为 DFC_CAPTION 的 API 函数。

关于c++ - 获取 Windows API 标题栏图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26289341/

相关文章:

windows - 在 Windows 上更改语言和区域设置

c - C 判断文件是否已被复制

c++ - 为什么我不能在 QBS 项目中使用控制台输出?

c++ - 使用 OpenGL 和 QT 进行纹理映射 - C++

qt - QMainWindow close() 信号未发出

c++ - 重载运算符时出现奇怪的编译错误!=

c++ - 关于函数引用和线程的问题

c++ - 无法将 ByRef VARIANT 数组转换为 SAFEARRAY

c++ - boost std unique_ptr 的 STL 集合的序列化

mysql - 命令行 MySQL 查询导出输出到文件在 Windows 中不起作用