半透明窗口的实现
在上篇 关于窗口嵌入桌面及透明的注意事项 提到 SetLayeredWindowAttributes 会使窗口上的控件也一起被透明化
网上搜了一下,也没有比较好的解决办法
似乎唯一的解决办法就是:在窗口后面再贴个透明窗口。。。
步骤:
1. 使用 SetWindowRgn 将没有控件的区域镂空
2. 建立一个 LayeredWindow 在当前窗口后面
为此写了个类,通过带Alpha通道的Bitmap或者Png来实现窗口透明
具体实现就不写了,看 附件 吧
代码可能有不少问题,大家看看基本原理就行了,呵呵
效果
网上搜了一下,也没有比较好的解决办法
似乎唯一的解决办法就是:在窗口后面再贴个透明窗口。。。
步骤:
1. 使用 SetWindowRgn 将没有控件的区域镂空
2. 建立一个 LayeredWindow 在当前窗口后面
为此写了个类,通过带Alpha通道的Bitmap或者Png来实现窗口透明
具体实现就不写了,看 附件 吧
代码可能有不少问题,大家看看基本原理就行了,呵呵
效果
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步