昨天学习了异形窗口的基本代码编写,异形窗口的外形已经能实现。。。
窗口是为了显示文字,图片等等的,当然还有最重要的上面的控件。。可是昨天的异形窗口并不能实现,如果用SetLayeredWindowAttibutes实现透明,可是上面的控件也会跟着透明。。
我们的办法是准备两个窗口,姑且设为A窗口和B窗口。。A窗口是我们的异形窗口,他实现了无规则的边框,是我们的显示窗口,B窗口就是我们的主窗口,是我们的逻辑窗口,就是放置控件、文字的窗口,然后让两个窗口重叠在一起,也可以说是在窗口B上创建了窗口A,然后通过UpdateLayeredWindow对窗口A实现异形,因为窗口A在窗口B上,那么势必会遮盖住窗口B的控件,然后我们就要对窗口A通过SetWindowRgn进行裁剪,通过镂空出控件的位置从而达到显示出控件。最后划分窗口B的大小,让窗口A显示出异形的模样。
本文介绍了如何使用两个窗口实现异形窗口的设计方案:一个用于显示不规则形状,另一个用于承载控件与内容。通过调整与裁剪技术使两者完美结合。
9925

被折叠的 条评论
为什么被折叠?



