實現浮動按鈕 (轉)

gugu99發表於2007-10-13
實現浮動按鈕 (轉)[@more@]

 

裡面使用了浮動按鈕,可以使程式看起來更美觀和更容易使用。實現的方法是首先建立四條Line。和一個Image的,在程式根目錄下把圖示先改成macos.ico或者把程式相應更改一下圖示的名字。然後程式碼如下:


Private Sub Form_Load()
Image1.Picture = LoadPicture(App.Path & "macos.ico")

'使Line控制元件不可見
Line1.Visible = False
Line2.Visible = False
Line3.Visible = False
Line4.Visible = False

'調整Line1控制元件在Image1的左邊,並調整大小
Line1.X1 = Image1.Left - 1
Line1.Y1 = Image1.Top - 1
Line1.X2 = Line1.X1
Line1.Y2 = Image1.Top + Image1.Height + 1

'調整Line2控制元件在Image1的上面,並調整大小
Line2.X1 = Image1.Left - 1
Line2.Y1 = Image1.Top - 1
Line2.X2 = Image1.Top + Image1.Height + 1
Line2.Y2 = Line1.Y1

'調整Line3控制元件在Image1的右邊,並調整大小
Line3.X1 = Line2.X2
Line3.Y1 = Line2.Y1
Line3.X2 = Line2.X2
Line3.Y2 = Line1.Y2

'調整Line4控制元件在Image1的下面,並調整大小
Line4.X1 = Line1.X1
Line4.Y1 = Line1.Y2
Line4.X2 = Line2.X2
Line4.Y2 = Line1.Y2

'按鈕凸起效果
Line1.BorderColor = QBColor(15) '白色
Line2.BorderColor = QBColor(15) '白色
Line3.BorderColor = QBColor(0)  '黑色
Line4.BorderColor = QBColor(0)  '黑色
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Line1.Visible = True Then
'防止無意義下列語句
Line1.Visible = False
Line2.Visible = False
Line3.Visible = False
Line4.Visible = False
Image1.Picture = LoadPicture(App.Path & "macos.ico")
End If
End Sub

Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
'左鍵
If Button = 1 Then
Line1.BorderColor = QBColor(0)
Line2.BorderColor = QBColor(0)
Line3.BorderColor = QBColor(15)
Line4.BorderColor = QBColor(15)
End If
MsgBox "Jason guo提醒你!要好好學習VB哦!!!"
End Sub

Private Sub Image1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Line1.Visible = False Then
'防止無意義呼叫下面語句
Line1.Visible = True
Line2.Visible = True
Line3.Visible = True
Line4.Visible = True
Image1.Picture = LoadPicture(App.Path & "macos.ico")
End If
End Sub

Private Sub Image1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
'右鍵
If Button = 1 Then
Line1.BorderColor = QBColor(15)
Line2.BorderColor = QBColor(15)
Line3.BorderColor = QBColor(0)
Line4.BorderColor = QBColor(0)
End If
End Sub


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-976325/,如需轉載,請註明出處,否則將追究法律責任。

相關文章