當前位置:編程學習大全網 - 源碼下載 - VB編程的必備技巧

VB編程的必備技巧

對編程者來說,VB很容易上手,但要深入、靈活地駕馭它還要下壹番功夫。筆者在這裏介紹幾個較為典型的編程技巧,希望能對廣大VB愛好者有所幫助。

壹.怎樣創建自定義的光標

1.當在設計壹個應用程序時,Visual Basic允許程序員將許多控件的MousePointer屬性設計成12個預先定義好的鼠標光標之壹。然而,有些程序員或許會希望顯示壹個預定義形狀之外的光標。本文說明如何創建壹個不同的鼠標指針(光標),包括為壹個沒有MousePointer屬性的控件創建光標。

要在Visual Basic應用程序中將光標(鼠標指針)改變成個不同的形狀,可以添加代碼來改變希望監視的控件的MouseMove和DragOver事件。

MouseMove事件所包含的代碼用於觸發該控件的Drag方法。當鼠標在被選中的控件上移動的時候,輪流顯示新的鼠標指針。當鼠標指針離開該控件時,則DragOver事件被觸發。在Visual Basic程序中,可以重新復位此Drag屬性,以便以前的鼠標指針能夠被再次顯示出來。

2.下面的樣例程序實現當鼠標指針移動到壹個文件列表框控件上時,將其改變成不同的形狀。

首先采用缺省的方法建立Form1。在Form1上添加壹個文件列表框控件,采用缺省的方法建立File1。將File1控件的DragIcon屬性設置為所選擇的.ICO文件。

將如下代碼添加到File1的MouseMove事件中:

Private Sub File1-MouseMove(ButtonAs

Integer, Shift As Integer, X As Single, Y As Single)

File1.Drag 1 ''icon on

End Sub

---- 將如下代碼添加到Form1的DragOver事件中:

Private Sub Form-DragOver(Source As Control,

X As Single, Y As Single, State As Integer)

File1.Drag 0 ′icon off

End Sub

按下F5功能鍵執行此程序。得到的運行結果是:將鼠標指針移動到該文件列表框控件上時,程序將把所選中的.ICO文件作為缺省的鼠標光標;將鼠標指針離開該控件時,光標則會自動恢復為缺省的形狀。

二.怎樣在窗體上點鼠標右鍵產生壹個彈出式選單(PopUp Menu)?

大家都知道,在Windows95/98/2000的桌面和許多流行軟件的視窗中,當我們點鼠標右鍵時,會在鼠標的當前位置彈出壹個快捷選單。許多愛好編程的朋友是不是也希望能在自己的程序裏有類似的功能呢?其實,這並不困難。筆者經過壹番努力,在VB下找出壹個通用的方法,供大家分享。

要實現上述功能,需分兩個步驟:

1. 利用VB的選單我器(Menu Editor)我妳希望彈出的選單及子選單,註意,要將選單的Visible屬性設置為:False。

2. 在窗體(Form1)的MouseDown事件中編寫程序,來激發我好的選單,假設選單名為PopMenu,程序源碼如下:

Private Sub Form-MouseDown

(Button As Integer, Shift As Integer,

X As Single, Y As Single)

If Button = vbRightButton Then

PopMenu.Visible = True

PopupMenu PopMenu

End If

End Sub

上述方法是針對窗體的,我們也可以針對任意控件,用鼠標右鍵點擊控件時,也彈出壹個快捷選單。方法也很簡單,只要把上述代碼放到相應控件的MouseDown事件中,就可以了。

三.怎樣動態地在窗體上判斷某區域內是否有控件存在?

在筆者的壹個小程序中,想在窗體的某個區域輸出數據,這就要求在這個區域內不能有其他控件存在,那麽,怎麽才能知道在窗體的某個區域內,是否有控件存在呢?

為了判斷在窗體的某個區域中,是否含有控件,我們可以利用以下VB程序來實現:

Function GetControl(x1 As Single, y1 As Single,

x2 as Single, y2 as Single) As Control

Dim Control as Control

For Each Control In Form1

With Control

If (x1 〈= .Left) And (x2 〉= .Left) And _

(y1 〈= .Top) And (y2 〉= .Top) Or _

(x1 〈=.Left + Width) And (x2 〉= .Left + Width) And _

(y1 〈= .Top) And (y2 〉= .Top) Or _

(x1 〈= .Left) And (x2 〉= Left) And _

(y1 〈= .Top + Height) And (y2 〉= .Top + Height) Or _

(x1 〈= . Left + Width) And (x2 〉= .Left + Width) And _

(y1 〈= .Top + Height) And (y2 〉= .Top + Height) Then

Set GetControl = Control

Exit Function

End If End With

Next

Set GetControl = Nothing

End Function

註:(x1, y1)和(x2, y2)分別為選定矩形區域的左上角和右下角點的坐標值。

該程序通過計算窗體上所有控件的四個角的位置來判斷控件是否與選定區域相交,並返回相交的控件。

  • 上一篇:期貨是什麽
  • 下一篇:公司電腦加密了拷貝出來的文件
  • copyright 2024編程學習大全網