问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

VB怎么更改鼠标指针样式

发布网友 发布时间:2022-09-25 11:17

我来回答

1个回答

热心网友 时间:2023-10-04 22:23

  VB设置鼠标的指针样式,可设置窗口中的鼠标样式和系统中的鼠标指针样式,通过操作窗口中的菜单,你就可以很方便的改变鼠标样式,下面是我给大家整理的一些相关解决 方法 步骤,希望对大家有帮助!

  VB怎么更改鼠标指针样式

  这是窗体代码:

  01VERSION 5.00

  02Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "Comdlg32.ocx"

  03Begin VB.Form Form1

  04 Caption = "鼠标样式设置器"

  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 = "设置鼠标样式"

  22 Begin VB.Menu SetSysMouse

  23 Caption = "设置系统鼠标样式"

  24 End

  25 Begin VB.Menu BackSysMouse

  26 Caption = "恢复系统鼠标样式"

  27 End

  28 Begin VB.Menu SetFormMouse

  29 Caption = "设置窗体鼠标样式"

  30 End

  31 Begin VB.Menu BackFormMouse

  32 Caption = "恢复窗体鼠标样式"

  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 '标准

  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() '恢复窗体鼠标的样式

  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() '恢复系统鼠标的样式

  76 SystemParametersInfo SPI_SETCURSORS, 0, 0, SPIF_SENDWININICHANGE

  77End Sub

  78Private Sub SetFormMouse_Click() '设置窗体的鼠标样式

  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() '设置系统鼠标样式

  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

  程序运行截图如下图所示:

  相关拓展:vb如何控制鼠标

  主要是要通过两个方面:

  (一)对鼠标的停留位置做出判断,也就是得到鼠标在屏幕上停留的位置。

  (二)将鼠标的移动到所确定的位置上。 而实现这个功能则要使用到SetCursorPos这个函数,此函数的功能是设定鼠标位置。

  这个函数的声明如下:

  Public Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long

  而仅仅有这个函数是不够的,还需要定义一个type格式的自定义变量。定义为:

  Public Type POINTAPI

  x As Long

  y As Long

  End Type

  它用于存放鼠标的位置(屏幕上的位置)。

  但是一个新的问题又出现了:鼠标到底放在哪里呢?也就是如何获得屏幕上的位置。

  这个问题就要用到另一个函数:GetCursorPos,它的功能是获得屏幕上鼠标的坐标。

  它的声明如下:

  Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long

  这样就可以通过GetCursorPos函数获得鼠标的位置,存放到一个POINTAPI变量中,再通过SetCursorPos函数来设置鼠标的位置。

  这样就可以十分顺利的来控制鼠标了!

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
江西服装学院究竟怎么样 江西服装学院怎样 江西服装学院怎么样啊 服装学校师资哪里比较好 江西服装学院怎么样呢 报案警察如何处理弃婴法律上如何认定 公安机关如何处理弃婴 光宗耀祖名词解释光宗耀祖的解释是什么 呼吸37度时光能量适合什么肤质 2012年1月24日(初二)从武汉天河机场到当阳,不知道是坐火车、汽车,在武... 中考复习中,不少学生存在着复习重点不突出,时间安排不合理,有的甚至记住了前面的知识,又忘记了后面的 发电机和抽水机会永不停止运转下去么? 永动机禁止的真实原因? 哪些墨盒和88a通用 您好autocad2012的序列号 秘钥能告知我?? 喝铁观音茶为何要防醉茶 为什么我早上喝完铁观音之后,感觉不舒服啊?是喝的太急了吗。还是咋回事。 跪求好心人分享Fraps(显卡辅助工具) V3.0.3 狐狸少爷汉化安装版软件免费百度云资源 想问去捷克旅游几月份最好? 精灵魔塔适合用什么辅助软件? 去捷克旅游需要注意些什么东西 捷克旅游值得去的景点 捷克旅游不可错过的十大景点 捷克旅游有什么值得一去的景点 捷克最著名的五个旅游景点 ...enabled vsftpd.service,这个执行命令正确吗 个人付款委托书 研究生出国留学的条件和要求 谁知道怎样用itunes将电脑上的word文件传到ipad上? 我想开一家麻花店,取什么名字好? 迅达燃气灶有电打不着火 迅达燃气灶打不着火原因和处理方法 迅达燃气灶打不着火是怎么回事? 迅达燃气灶点不着火怎么办? 关于伤感歌词的句子 伤感歌词说说大全 关于歌词的伤感说说 幼儿园毕业主题名字 幼儿园毕业季主题名称 如何将定向逻辑环绕声解码器连接到功放,解码器与功放都是老家伙了,现在想把它们俩用音频线连接起来。 cav功放如何调环绕音 我听人说音响要放出环绕音,就必须DVD和功放要具备解码器,还要光盘有环绕,是真的吗? 腊月二十九是什么星座? 腊月二十九到底是什么星座? 1997年农历腊月二十九是什么星座 孩子的名字到底可以有多好听?杜绝“轩、嘉、豪”,名字照样好听 有没有人叫沈彤的 让很多人都不熟悉的银行,究竟什么人才可以拥有? 邮政的是什么卡?有什么功能? “工行”是什么意思?