VB實現按鈕浮動效果
發表于:2007-07-14來源:作者:點擊數:
標簽:
微軟的Visual Basic確實是個好東東,編寫應用程序快捷高效。但是入門容易,想玩轉它可不簡單。我個人學 VB 就深有體會:一個人在VB的殿堂里摸索是何等的辛苦??!有時為了一個特技、一句代碼甚至一個變量要反復調試運行幾十遍,也未必能通過,真恨不得一槍崩
微軟的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
原文轉自:http://www.anti-gravitydesign.com