五笔打字通主页
有时我们需要让窗体透明,准确说,是让窗体上的某种颜色的部分透明,而其它颜色不透明。如果我们设置窗体的背景图片是一个小动物,而动物的周围都是红色,那么我们只要设置窗体的红色部分为透明,并设置窗体标题栏不要出现(在窗体属性设置Form1.BorderStyle = 0) ,输入让窗体透明的代码,启动程序后就会发现,屏幕上只有一个可爱的小动物。以前瑞星的吉祥物狮子就是通过这方式做出来的。
先在窗体上画一个按钮,一个标签,一个图片框PictureBox控件(先暂时不要取消窗体的标题栏),按钮的Style的属性设置为1,在窗体Load事件中,输入以下VB源代码,运行后,发现窗体,以及按钮,标签,图片框都是蓝色的。
Private Sub Form_Load()
Me.BackColor = vbBlue '设置窗体背景颜色为蓝色
Label1.BackColor = vbBlue
Picture1.BackColor = vbBlue
Command1.BackColor = vbBlue
End Sub
再点击按钮1,就会发窗体透明了,标签,按钮,图片框控件蓝色的部分都变透明了,只可惜控件的边缘由于不是蓝色的,就没有透明,当然标题栏也不透明。
-----------------------------
把窗体上所有的控件都去除,设置窗体背景为上面这个小兔子背景(小兔子的周围是红色),同时取消标题栏。写入以下代码,启动后,屏幕上只有一只可爱的小兔子了。
Private Sub Form_Load()
Dim rtn As Long
rtn = GetWindowLong(hwnd, GWL_EXSTYLE)
rtn = rtn Or WS_EX_LAYERED
SetWindowLong hwnd, GWL_EXSTYLE, rtn
SetLayeredWindowAttributes hwnd, vbRed, 190, LWA_COLORKEY '已经改成红色为透明的颜色
End Sub
由于没有标题栏,这个窗体没有办法移动,大家参考一下,我前面写的文章:移动无标题栏窗体,(地址: http://wb86.com/post/19.html),这个小兔子其实也可以很容易移动起来的。
来源:济亨网
本文链接:http://wb86.com/post/35.html