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

 

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

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

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

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

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

 

转载于:https://www.cnblogs.com/Forest-zhu/archive/2011/12/13/2285654.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值