vc中如何使一个窗体有多个透明度

来源:百度知道 编辑:UC知道 时间:2024/06/09 08:10:52
我有一个窗体,上面放了一张云的png图片,这张图片具有多种透明度,云厚的地方不太透明,云薄的地方比较透明,没云的地方完全透明.我的需求是让窗体背景完全透明,图片按透明度显示,可以透过云看到窗体后的东西(如:桌面,其它窗体).云越薄,越透明,窗体后的东西看得越清楚.

windows的API SetLayeredWindowAttributes和SetWindowLong并不能解决这个问题,它们的作用只是让某种颜色完全透明或让整个窗体仅用一种透明度显示.我需要的是多种透明度.
窗体有个transparent属性设置为true后可以让窗体出现时背景完全透明,但移动窗体后并不会刷新透明部分的内容.微软也不推荐使用这个方法.

我需要一个可以解决本问题,而且性能不会太差的回答,您的解答最好能提供可运行代码.我的email: xzall@163.com

The ideia of this is very simple,
1. Create a compatible DC with screen;
2. Select the bitmap with 32bpp with alpha-channel in the compatible DC;
3. Call the UpdateLayeredWindow.

I have send code to you email, enjoy!

挖。。你自己都那么厉害了。。。
帮不上。。。。。。郁闷DO。。

自己搜索一下,有控件可以使用的