VB实现按钮浮动效果

王朝厨房·作者佚名  2007-01-04
窄屏简体版  字體: |||超大  

微软的Visual Basic确实是个好东东,编写应用程序快捷高效。但是入门容易,想玩转它可不简单。我个人学VB就深有体会:一个人在VB的殿堂里摸索是何等的辛苦啊!有时为了一个特技、一句代码甚至一个变量要反复调试运行几十遍,也未必能通过,真恨不得一枪崩了VB。所以,我连这一点点小技巧都不敢独品,拿出来与大家共享,也算抛砖引玉,引出更多、更精彩的奇思妙文,以“飨”读者。

关于浮动按钮的实现思路不少,多是采取多图片重叠显示来实现。这种方法代码量多,实现起来较繁琐。因为,一个按钮还好,如果有十个按钮呢?一个按钮三个图片,十个就要三十个图片,可不是闹着玩的。

我的思路是:

舍弃CommandButton控件,每个按钮用4条Line控件和一个Label控件替代。4条Line围住Label的边缘,调入窗体时,置显示属性为False,并将左、上直线的颜色设为白色,右、下直线的颜色设为黑色。当鼠标移到Label上时,4条Line的显示属性置True;当鼠标离开按钮时,将4条Line的显示属性设置为False。这样在视觉上就完全得到立体浮动的效果。另外,VB的Line控件还支持直线倾斜,以此类推,完全可以做出更加美观的倾斜按钮。篇幅所限,下面仅给出一个按钮实现浮动效果的源代码。

Option Explicit

Private Sub Form_Load()

’初始Form与Label

Form1.Caption = “浮动按钮"

Form1.KeyPreview = False

label1.Caption = “确定"

’初始4条Line的显示属性为False

Line1.Visible = False

Line2.Visible = False

Line3.Visible = False

Line4.Visible = False

’初始4条Line的颜色

Line1.BorderColor = &HE0E0E0

Line2.BorderColor = &HE0E0E0

Line3.BorderColor = &H808080

Line4.BorderColor = &H808080

End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

’鼠标指针在窗体上(不在按钮上)时,置4条Line的显示属性为False

Line1.Visible = False

Line2.Visible = False

Line3.Visible = False

Line4.Visible = False

End Sub

Private Sub label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

’鼠标指针在按钮上时,置4条Line的显示属性为True

Line1.Visible = True

Line2.Visible = True

Line3.Visible = True

Line4.Visible = True

End Sub

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航