c# - 如何向窗口标题栏添加一个额外的按钮,以便它按标准工作?

标签 c# c++ windows winapi user-interface

首先我想提一下,我已经阅读了所有有关 SO 主题的文章,但仍然没有回答我的问题。我的问题也与其他问题略有不同。
今天我在 Skype 窗口上查看。它的标题栏上有一个额外的按钮。但是这个按钮充当 native 系统按钮。看着发光,它从窗外蔓延。所以我有一个合理的问题。根据下图我们可以看到,有标准的方法可以在标题栏上添加额外的按钮。但是关于 subj 的所有答案都会导致 Hook WM_NCPAINT 事件和手动绘制额外按钮。这种方法是可行的,但无法产生图片上那样美丽的光。
有人知道在窗口标题栏上添加标准化按钮的方法吗? 提前致谢!
enter image description here

最佳答案

在 Vista 和 Windows 7 中,有一个称为桌面窗口管理器的新事物。这用于绘制“Aero glass”窗口标题栏,并制作发光效果。旧的 Windows XP 实现 WM_NCPAINT 处理程序的方法不适用于这个新系统,因此您必须使用全新的 API。

我确定我已经看过一些关于做您所问的事情的文章,但现在找不到它们。一些可能会给您一些线索的页面是:

关于c# - 如何向窗口标题栏添加一个额外的按钮,以便它按标准工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5571072/

相关文章:

c# - List<MyClass> 对象缓冲区在哪里维护?它是在 RAM 上还是在 HDD 上?

c# - 遍历 ListView 数据

C++ void_t SFINAE false_type true_type 无法获得特化

c++ - 原始 ICMP 套接字 : recvfrom() not recieving any data

c# - Asp.net mvc 项目发布后出现内部服务器错误

c# - 从ProgID获取dll目录

c++ - -lglut32 找不到

c++ - 循环失败

java - 如何以编程方式启用侧音/麦克风直通

c++ - 在 Windows 上从文件末尾添加/删除字节