📄 ba17.htm
字号:
<HTML>
<HEAD>
<TITLE>VB实现按钮浮动效果</TITLE>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
</head>
<p align="center"><script src="../../1.js"></script></a>
<BODY topMargin=4 vLink=#0000ff>
<TABLE border=0 cellPadding=0 cellSpacing=0 width="100%">
<TBODY>
<TR>
<TD height="52">
<DIV align=center>
<CENTER>
<table border=0 cellpadding=0 cellspacing=0 width=679 align="center">
<tbody>
<tr>
<td width=200 height="59">
</TD></TR><!--msnavigation--></TBODY></TABLE>
<table border=0 cellpadding=0 cellspacing=0 width="100%">
<tbody>
<tr><!--msnavigation--><td valign=top height="235">
<div align=center>
<table border=1 bordercolor=#b9d9ff cellpadding=0 cellspacing=0
class=table width=755>
<center>
<tr>
<td width="100%" height="3">
<div align="center"> <strong><big><font face="宋体">VB实现按钮浮动效果</font></big></strong></span></div>
</td>
</tr>
<tr>
<td
width="100%" class="unnamed1" height="247">
<div align="left">
<p align="center"><big></big></p>
<p align="left"><font face="宋体" size="-1">
微软的Visual Basic确实是个好东东,编写应用程序快捷高效。但是入门容易,想玩转它可不简单。我个人学VB就深有体会:一个人在VB的殿堂里摸索是何等的辛苦啊!有时为了一个特技、一句代码甚至一个变量要反复调试运行几十遍,也未必能通过,真恨不得一枪崩了VB。所以,我连这一点点小技巧都不敢独品,拿出来与大家共享,也算抛砖引玉,引出更多、更精彩的奇思妙文,以“飨”读者。<br>
关于浮动按钮的实现思路不少,多是采取多图片重叠显示来实现。这种方法代码量多,实现起来较繁琐。因为,一个按钮还好,如果有十个按钮呢?一个按钮三个图片,十个就要三十个图片,可不是闹着玩的。<br>
我的思路是:<br>
舍弃CommandButton控件,每个按钮用4条Line控件和一个Label控件替代。4条Line围住Label的边缘,调入窗体时,置显示属性为False,并将左、上直线的颜色设为白色,右、下直线的颜色设为黑色。当鼠标移到Label上时,4条Line的显示属性置True;当鼠标离开按钮时,将4条Line的显示属性设置为False。这样在视觉上就完全得到立体浮动的效果。另外,VB的Line控件还支持直线倾斜,以此类推,完全可以做出更加美观的倾斜按钮。篇幅所限,下面仅给出一个按钮实现浮动效果的源代码。<br>
Option Explicit<br>
Private Sub Form_Load()<br>
'初始Form与Label<br>
Form1.Caption = “浮动按钮"<br>
Form1.KeyPreview = False<br>
label1.Caption = “确定"<br>
'初始4条Line的显示属性为False<br>
Line1.Visible = False<br>
Line2.Visible = False<br>
Line3.Visible = False<br>
Line4.Visible = False<br>
'初始4条Line的颜色<br>
Line1.BorderColor = &HE0E0E0<br>
Line2.BorderColor = &HE0E0E0<br>
Line3.BorderColor = &H808080<br>
Line4.BorderColor = &H808080<br>
End Sub<br>
Private Sub Form_MouseMove(Button As Integer, Shift As Integer,
X As Single, Y As Single)<br>
'鼠标指针在窗体上(不在按钮上)时,置4条Line的显示属性为False<br>
Line1.Visible = False<br>
Line2.Visible = False<br>
Line3.Visible = False<br>
Line4.Visible = False<br>
End Sub<br>
Private Sub label1_MouseMove(Button As Integer, Shift As Integer,
X As Single, Y As Single)<br>
'鼠标指针在按钮上时,置4条Line的显示属性为True<br>
Line1.Visible = True<br>
Line2.Visible = True<br>
Line3.Visible = True<br>
Line4.Visible = True<br>
End Sub</font></p>
<p align="center"> </p>
</div>
</td>
</tr>
</center>
<tr>
<td width="100%" class="unnamed1">
<p align=right><a href="ba16.htm">(上一页)</a>---<a href="ba18.htm">(下一页)</a></p>
</td>
</tr>
<tr>
<td width="100%" class="unnamed1">
</div>
</td>
</tr>
<!--msnavigation--></tbody>
</table>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -