当前位置:首页 » 程序代码 » 正文

VB编程:VB透明窗体

有时我们需要让窗体透明,准确说,是让窗体上的某种颜色的部分透明,而其它颜色不透明。如果我们设置窗体的背景图片是一个小动物,而动物的周围都是红色,那么我们只要设置窗体的红色部分为透明,并设置窗体标题栏不要出现(在窗体属性设置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

    << 上一篇 下一篇 >>

    湘公网安备 43011102000514号 - 湘ICP备08100508号