調(diào)用api
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比成武網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式成武網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋成武地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴。
在Visual Baisc.net中的聲明:
Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Public Const MOUSEEVENTF_LEFTDOWN = H2 '模擬鼠標(biāo)左鍵按下
Public Const MOUSEEVENTF_LEFTUP = H4 ’模擬鼠標(biāo)左鍵釋放
Public Const MOUSEEVENTF_MIDDLEDOWN = H20 '模擬鼠標(biāo)中間鍵按下
Public Const MOUSEEVENTF_MIDDLEUP = H40 '模擬鼠標(biāo)中間鍵釋放
Public Const MOUSEEVENTF_RIGHTDOWN = H8 '模擬鼠標(biāo)右鍵按下
Public Const MOUSEEVENTF_RIGHTUP = H10 '模擬鼠標(biāo)右鍵釋放
Public Const MOUSEEVENTF_MOVE = H1 '模擬鼠標(biāo)指針移動(dòng)
例:
mouse_event MOUSEEVENTF_LEFTDOWN,10,10,0,0
'在(10,10)模擬鼠標(biāo)左鍵按下
屬性里面先把UseWaitCursor改為true然后再改Cursor的屬性。選擇一個(gè)你要的形狀
VB設(shè)置鼠標(biāo)的指針樣式,可設(shè)置窗口中的鼠標(biāo)樣式和系統(tǒng)中的鼠標(biāo)指針樣式,通過(guò)操作窗口中的菜單,你就可以很方便的改變鼠標(biāo)樣式,下面是我給大家整理的一些相關(guān)解決 方法 步驟,希望對(duì)大家有幫助!
VB怎么更改鼠標(biāo)指針樣式
這是窗體代碼:
01VERSION 5.00
02Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "Comdlg32.ocx"
03Begin VB.Form Form1
04 Caption = "鼠標(biāo)樣式設(shè)置器"
05 ClientHeight = 3210
06 ClientLeft = 165
07 ClientTop = 735
08 ClientWidth = 5490
09 LinkTopic = "Form1"
10 ScaleHeight = 3210
11 ScaleWidth = 5490
12 StartUpPosition = 3 '窗口缺省
13 Begin MSComDlg.CommonDialog CommonDialog1
14 Left = 2640
15 Top = -45
16 _ExtentX = 847
17 _ExtentY = 847
18 _Version = 393216
19 End
20 Begin VB.Menu SetMouse
21 Caption = "設(shè)置鼠標(biāo)樣式"
22 Begin VB.Menu SetSysMouse
23 Caption = "設(shè)置系統(tǒng)鼠標(biāo)樣式"
24 End
25 Begin VB.Menu BackSysMouse
26 Caption = "恢復(fù)系統(tǒng)鼠標(biāo)樣式"
27 End
28 Begin VB.Menu SetFormMouse
29 Caption = "設(shè)置窗體鼠標(biāo)樣式"
30 End
31 Begin VB.Menu BackFormMouse
32 Caption = "恢復(fù)窗體鼠標(biāo)樣式"
33 End
34 End
35End
36Attribute VB_Name = "Form1"
37Attribute VB_GlobalNameSpace = False
38Attribute VB_Creatable = False
39Attribute VB_PredeclaredId = True
40Attribute VB_Exposed = False
41Option Explicit
42Const OCR_NORMAL = 32512
43Const IDC_ARROW = 32512
44Const SPI_SETCURSORS = 87
45Const SPIF_SENDWININICHANGE = H2
46Const OCR_NORAAC = 32512 '標(biāo)準(zhǔn)
47Const GCL_HCURSOR = (-12)
48' const OCR_APPSTARTING = 32650 '小的沙漏
49' const OCR_HAND = 32649 '手
50' const OCR_NO = 32648 '圓
51' const OCR_SIZEALL = 32646 '十
52' const OCR_WAIT = 32514 '沙漏
53Private Declare Function LoadCursorFromFile Lib "user32" Alias "LoadCursorFromFileA" (ByVal lpFileName As String)As Long
54Private Declare Function SetSystemCursor Lib "user32" (ByVal hcur As Long, _
55 ByVal id As Long) As Long
56Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, _
57 ByVal uParam As Long, _
58 ByRef lpvParam As Any, _
59 ByVal fuWinIni As Long _
60 ) As Long
61Private Declare Function SetClassLong Lib "user32" Alias "SetClassLongA" (ByVal hwnd As Long, _
62 ByVal nIndex As Long, _
63 ByVal dwNewLong As Long _
64 ) As Long
65Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, _
66 ByVal nSize As Long _
67 ) As Long
68Dim hCursor As Long
69Private Sub BackFormMouse_Click() '恢復(fù)窗體鼠標(biāo)的樣式
70 Dim sPath As String * 260 '定義路徑
71 GetSystemDirectory sPath, Len(sPath)
72 hCursor = LoadCursorFromFile(sPath)
73 SetClassLong Me.hwnd, GCL_HCURSOR, hCursor
74End Sub
75Private Sub BackSysMouse_Click() '恢復(fù)系統(tǒng)鼠標(biāo)的樣式
76 SystemParametersInfo SPI_SETCURSORS, 0, 0, SPIF_SENDWININICHANGE
77End Sub
78Private Sub SetFormMouse_Click() '設(shè)置窗體的鼠標(biāo)樣式
79 CommonDialog1.Filter = "CUR文件(*.cur)|*.cur|ANI文件(*.ani)|*.ani|所有文件|(*.*)"
80 CommonDialog1.ShowOpen
81 CommonDialog1.CancelError = False
82 If CommonDialog1.FileName "" Then
83 hCursor = LoadCursorFromFile(CommonDialog1.FileName)
84 SetClassLong Me.hwnd, GCL_HCURSOR, hCursor
85 End If
86End Sub
87Private Sub SetSysMouse_Click() '設(shè)置系統(tǒng)鼠標(biāo)樣式
88 CommonDialog1.Filter = "CUR文件(*.cur)|*.cur|ANI文件(*.ani)|*.ani|所有文件|(*.*)"
89 CommonDialog1.ShowOpen
90 CommonDialog1.CancelError = False
91 If CommonDialog1.FileName "" Then
92 hCursor = LoadCursorFromFile(CommonDialog1.FileName)
93 Call SetSystemCursor(hCursor, OCR_NORMAL)
94 End If
95End Sub
程序運(yùn)行截圖如下圖所示:
相關(guān)拓展:vb如何控制鼠標(biāo)
主要是要通過(guò)兩個(gè)方面:
(一)對(duì)鼠標(biāo)的停留位置做出判斷,也就是得到鼠標(biāo)在屏幕上停留的位置。
(二)將鼠標(biāo)的移動(dòng)到所確定的位置上。 而實(shí)現(xiàn)這個(gè)功能則要使用到SetCursorPos這個(gè)函數(shù),此函數(shù)的功能是設(shè)定鼠標(biāo)位置。
這個(gè)函數(shù)的聲明如下:
Public Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
而僅僅有這個(gè)函數(shù)是不夠的,還需要定義一個(gè)type格式的自定義變量。定義為:
Public Type POINTAPI
x As Long
y As Long
End Type
它用于存放鼠標(biāo)的位置(屏幕上的位置)。
但是一個(gè)新的問(wèn)題又出現(xiàn)了:鼠標(biāo)到底放在哪里呢?也就是如何獲得屏幕上的位置。
這個(gè)問(wèn)題就要用到另一個(gè)函數(shù):GetCursorPos,它的功能是獲得屏幕上鼠標(biāo)的坐標(biāo)。
它的聲明如下:
Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
這樣就可以通過(guò)GetCursorPos函數(shù)獲得鼠標(biāo)的位置,存放到一個(gè)POINTAPI變量中,再通過(guò)SetCursorPos函數(shù)來(lái)設(shè)置鼠標(biāo)的位置。
這樣就可以十分順利的來(lái)控制鼠標(biāo)了!
VB里不能改變指針圖標(biāo)的大小,只能通過(guò)圖標(biāo)編輯軟件來(lái)修改。
你的圖標(biāo)雖然是16像素的,但是主要圖案占的太滿。
用軟件打開(kāi)一個(gè)常用的指針圖標(biāo)觀察,會(huì)發(fā)現(xiàn)圖標(biāo)的主要內(nèi)容在整個(gè)畫面中實(shí)際占用比例很小。有的還不到1/4。這就說(shuō)明雖然圖標(biāo)是16像素,但是實(shí)際顯示出來(lái)的是很小一部分。
比如你要更換在你某個(gè)窗體上的光標(biāo)。
那么在這個(gè)窗體內(nèi)用這樣的代碼
Me.Cursor = System.Windows.Forms.Cursors.Cross
如果你要更換當(dāng)前系統(tǒng)顯示的光標(biāo)
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Cross
其中Cross代表十字光標(biāo),你也可以更改成其他的,直接查看Cursors中的各成員就可以找到了。
將label1的mousepointer屬性值設(shè)置為99
mouseicon屬性設(shè)置為小手圖標(biāo),你可以到c:\windows\cursors目錄下找