Visual Basic 6.0 使用者可用的 MousePointer
更新:2007 年 11 月
在 Visual Basic 2008 中,Visual Basic 6.0 的 MousePointer 屬性已由 Cursor 屬性取代,而且 MousePointer 常數的名稱已變更。
概念上的差異
在 Visual Basic 6.0 中,表單或控制項的 MousePointer 屬性可在游標移過該表單或控制項時,變更游標的外觀。
在 Visual Basic 2008 中,Cursor 屬性會提供與 MousePointer 一樣的功能。
自訂 MousePointers
在 Visual Basic 6.0 中,可以使用任何圖示 (.ico) 或游標 (.cur) 檔案做為自訂 MousePointer。
在 Visual Basic 2008 中僅支援游標檔,您可以藉由將游標檔指派給 Cursor 屬性,在執行階段設定自訂游標。
vbIconPointer 常數
Visual Basic 6.0 會將 MousePointer 常數併入 vbIconPointer,將游標變更為圖示符號 (方形內的小方形)。這個常數僅供舊有系統使用,在新作業系統上沒有任何效用,且會顯示預設游標。Visual Basic 2008 中沒有其對等用法。
MousePointer 屬性的程式碼變更
下列範例顯示 Visual Basic 6.0 與 Visual Basic 2008 之間的程式撰寫技巧差異。
變更游標外觀
下列程式碼會示範游標在執行階段移過文字方塊控制項時,如何變更游標外觀 (以沙漏游標取代預設箭號)。Visual Basic 6.0 範例會設定 MousePointer 屬性。在 Visual Basic 2008 範例中,Cursor 屬性是 MousePointer 的對等用法。Visual Basic 2008 範例也會使用新的 MouseEnter 事件。
' Visual Basic 6.0
Private Sub Text1_MouseMove(Button As Integer, Shift As Integer, _
X As Single, Y As Single)
Text1.MousePointer = vbHourGlass
End Sub
' Visual Basic
Private Sub TextBox1_MouseEnter(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles TextBox1.MouseEnter
TextBox1.Cursor = System.Windows.Forms.Cursors.WaitCursor
End Sub
顯示自訂游標
下列程式碼會示範游標移過文字方塊控制項時顯示手形游標。Visual Basic 6.0 範例會同時設定 MouseIcon 和 MousePointer 屬性。Visual Basic 2005 範例會將 Cursor 屬性設為 Cursor 物件的新執行個體。
' Visual Basic 6.0
Private Sub Text1_MouseMove(Button As Integer, Shift As Integer, _
X As Single, Y As Single)
Text1.MouseIcon = LoadPicture("C:\Windows\Cursors\hmove.cur")
Text1.MousePointer = vbHourGlass
End Sub
' Visual Basic
Private Sub TextBox2_MouseEnter(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles TextBox2.MouseEnter
TextBox2.Cursor = New System.Windows.Forms.Cursor _
("C:\mypath\mycursor.cur")
End Sub
MousePointer 常數對等用法
下表列出 Visual Basic 6.0 常數,及其 Visual Basic 2008 對等用法。
Visual Basic 6.0 |
Visual Basic 2008 對等用法 |
---|---|
0 – vbDefault |
|
1 – vbArrow |
|
2 – vbCrossHair |
|
3 – vbIBeam |
|
4 – vbIconPointer |
過時,以 Default 取代 |
5 – vbSizePointer |
|
6 – vbSizeNESW |
|
7 – vbSizeNS |
|
8 – vbSizeNWSE |
|
9 – vbSizeWE |
|
10 – vbUpArrow |
|
11 – vbHourGlass |
|
12 – vbNoDrop |
|
13 – vbArrowHourGlass |
|
14 – vbArrowQuestion |
|
15 – vbSizeAll |
|
99 – vbCustom |
沒有對等用法,如需詳細資訊,請參閱無法設定自訂 MousePointer |
升級注意事項
當 Visual Basic 6.0 應用程式升級為 Visual Basic 2008 時,MousePointer 屬性會以 Cursor 屬性取代。使用 MousePointer 常數的程式碼會修改為使用 Visual Basic 2008 的 Cursors 列舉型別 (Enumeration)。
如果 Visual Basic 6.0 應用程式使用自訂 MousePointer,設計階段設定或自訂 MousePointer 程式碼將不會升級,並會發出警告。
此外,如果 Visual Basic 6.0 應用程式在設計階段或執行階段將 MousePointer 設為 vbIconPointer 常數,則會在升級期間以預設游標取代。