使用duilib开发半透明异形窗体程序(附源码和demo)

转载请说明原出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/43532791

       

         半透明异形窗体的功能在之前维护的老版本的duilib里面已经有了基本的功能,但是因为一直存在较多的缺陷,所以我一直建议少用,就连我自己写仿酷狗项目也只是在几个小地方用了半透明异形窗体。不过今天在群里和其他几位朋友讨论后,发现了之前的许多问题以及解决方法。所以我立马修复了当前的库,并且写了一个半透明异形窗体的demo来测试效果。这里的半透明窗体是用UpdateLayeredWindow函数实现的,并不是双层窗体。


         总体来说,为了给官方原本的duilib391版本库增加窗体半透明异形功能,需要修改的类如下:


         1、CManagerUI类的WM_PAINT消息处理代码

         2、CRenderEngine类的文字渲染函数、和背景填充函数、贴图函数

         3、CEditUI类的win32 edit创建函数

         4、CRichEditUI类的光标绘制函数(自绘光标,需要结合CManagerUI类的相关代码)

         5、给CManagerUI类增加自绘CRichEditUI光标的一系列函数

         6、处理窗体类的最小化还原小(需要结合CManagerUI类的相关代码)

         7、给CManagerUI类增加最小化还原后的消息处理代码,为了在半透明状态下完全刷新窗体


         

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值