MFC学习之路之UI --(5)美丽的很出名的换肤程序SlickSkins

来源:互联网 发布:linux通配符的使用 编辑:程序博客网 时间:2024/05/22 04:34
MFC学习之路之UI --(5) 美丽的很出名的换肤程序SlickSkins

如果您在百度或GOOGLE上搜索SlickSkins,你可以找到很多源码站提供的源码,但基本上是要收费的。或者能够获取到不完整的源码工程。一开始我也被这透明的窗体程序给吸引了,虽然他的轮廓边线剪切很粗糙,但也很想知道它是怎么实现的。

说实话,我也找不到完整的源码,我也懒得给钱去下载这样的程序,其实也不值得。因为这不是一个很好的DEMO,说实话。他用的技术是没错的,可惜它用错方向了,仔细看看,他的边界确实很粗糙,而且画面也不漂亮这是因为他用错方向而导致的。透明窗体不是这样开发的,以后我会给出正宗的透明窗体是怎样的。

Here是完整的CPP和H文件,Here是完整的资源文件。如果您有运气的话,也许能够把他们合一齐成为一个完整的DEMO。

那么它到底用了什么技术呢?其实没什么,就是一个透明的Dialog,上面什么都没有。然后通过创建webbrowser2.cpp这样一个控件,来作为HTML的容器。换句话说,其实它就是一个浏览器。但如何做到HTML的空白部分透明呢?聪明的你应该会想到SetWindowRgn这个函数的。他里面其实有很多个CRgn来重叠,CRgn是通过获取Region资源文件来创建的。Region资源文件的创建方法DEMO 里面有。

如果实在不明白,我这里有一个Here,由于对它实在没兴趣,写的很马虎,请见谅

0 0
原创粉丝点击