繁体   English   中英

航空玻璃窗上的非客户端绘画

[英]Non client painting on aero glass window

现在我定制我的应用程序的标题栏。 我的目标是在标题栏上添加一个额外的按钮。 以前的问题人们告诉我我可以自定义非客户区的方式。 这是完美的,除了一件小事 - 发光 我可以在非客户区绘制发光,但我不能让它扩散到窗外 我也找不到关于这个subj的任何资源。

我查看了这个示例并制作了自己的测试应用程序,用于调查非客户端绘图工具。 我的应用程序窗口的屏幕截图:

我的应用程序的窗口

因此,当我被边框框剪裁时,您可以看到系统按钮从窗口发出光芒。

例如,Skype的窗口在标题栏中有四个自定义按钮,它们可以从窗口框架中“发光”:

Skype的窗口

任何人都可以建议我找出从窗口画出按钮发光的方法吗?
提前致谢!

[编辑]
谢谢大家的答案!

Skype欺骗它,并且在窗户顶部有一个小条子; 他们可以在哪里画画。

您可以使用Process Explorer查看它到SpyXX:

在此输入图像描述

也可以看看

MSDN: 使用DWM的自定义窗口框架

我不认为有可能超越你的NC区域,我有点怀疑他们正在绘制整个UI以完全匹配DWM Aero效果。

鉴于这看起来如何,我想知道他们是否使用CustomBorderForm的帮助或恢复按钮做了一些技巧,然后将获得“免费”的DWM模糊高亮效果。

这是我能找到的最相关的文章: http//geekswithblogs.net/kobush/articles/CustomBorderForms3.aspx

后续 - 我认为这个自定义chrome线程有更多指向相同技术的指针(尽管目标不同): WinForms应用程序中的自定义标题栏/ chrome

AFAIK,这是不可能的 ,因为窗口边界以外的区域根本不属于你

Skype屏幕截图来自一个自定义绘制的框架,很可能超出可见边框, 而不是Aero Glass框架 如果仔细观察,你可以分辨出来。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM