怎么能让窗体透明而控件不透明从而达到如PS启动画面异型的羽毛窗体那样的效果?
我要的是窗体透明而控件不透明!谁能解决??
我要的是窗体透明而控件不透明!谁能解决??
解决方案 »
- 大家能帮我个小忙吗?(我不是卖茶叶,放心,是有关IT的)
- 请教SQL语句,
- 在VB里如何使用GetLastInputInfo函数?
- VB的程序出现这个错误,大家来看看,有截图
- 救救我吧!动态创建的控件怎么不能Remove?
- 给程序添加多个用户和密码,在程序执行过程中不仅要验证密码还要验证用户名的正确与否(提示:把用户名文本框改成组合框,这样可以选择用
- SQL语句向数据报表的传递问题,在线等待。
- Visual Studio 2008 的十大新特性之一:代码中插入图片并可以被Notepad编辑是如何使用的哇?
- vb用pictureclip分割图像后怎么将图片一块一开的保存啊
- 请问在WINDOWS环境下,用什么API函数可以知道一个应用程序(进程)在运行,特急,请各位高手指点.多谢
- 如何Treeview中选中的子节点变成父接点的第一个子接点
- 驱动程序的详细信息是如何实现的????
用的是截屏+图片合成技术:先将屏幕截下来,再将位图合并PS本来就是图像处理软件,Alpha通道的图像合成还不是小菜一叠
导致透明窗口至少有4种不同的意思 1.异型窗口
2.模拟透明
3.Windows透明窗口
4.分层窗口
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegSetValue Lib "advapi32.dll" Alias "RegSetValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long ' Note that if you declare the lpData parameter as String, you must pass it By Value.
Private Const HKEY_CURRENT_USER = &H80000001
Private Const REG_DWORD = 4 ' 32-bit number
Dim reg As LongPrivate Sub Form_Load() Dim Ret As Long 'Set the window style to 'Layered' Ret = GetWindowLong(Me.hwnd, GWL_EXSTYLE) Ret = Ret Or WS_EX_LAYEREDSetWindowLong Me.hwnd, GWL_EXSTYLE, Ret 'Set the opacity of the layered window to 128 '我们可以设置这个数值来控制透明程度 SetLayeredWindowAttributes Me.hwnd, 0, 50, LWA_ALPHA
B:分层窗口。分层窗口可以直接设置窗口的透明度,只不过分层窗口只能用于Win2k以上
C:调用AnimateWindow,但是效果不是很好
然后不断重绘,注意设置透明合成的Alpha值