半透明窗口的实现

在上篇 关于窗口嵌入桌面及透明的注意事项 提到 SetLayeredWindowAttributes 会使窗口上的控件也一起被透明化
网上搜了一下,也没有比较好的解决办法
似乎唯一的解决办法就是:在窗口后面再贴个透明窗口。。。

步骤:
    1. 使用 SetWindowRgn 将没有控件的区域镂空
    2. 建立一个 LayeredWindow 在当前窗口后面

为此写了个类,通过带Alpha通道的Bitmap或者Png来实现窗口透明
具体实现就不写了,看 附件
代码可能有不少问题,大家看看基本原理就行了,呵呵

效果
 
原文地址:https://www.cnblogs.com/sephil/p/transform_2.html