永发信息网

vb的一个部分程序看不懂,谁能解释一下?急!!!!

答案:2  悬赏:20  手机版
解决时间 2021-12-28 20:59
标准模块:

Option Explicit
Public Declare Function ClipCursor Lib "user32" (lprect As Any) As Long
Public Declare Function ClientToScreen Lib "user32" (ByVal hwnd As Long, lppoint As POINTAPI) As Long
Public Declare Function GetClientRect Lib "user32" (ByVal hwnd As Long, lprect As RECT) As Long
Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Type POINTAPI
x As Long
y As Long
End Type
窗体模块:

Option Explicit

Sub clipmouseTowindow(ByVal hwnd As Long)
Dim lppoint As POINTAPI, lprect As RECT
ClientToScreen hwnd, lppoint
GetClientRect hwnd, lprect
lprect.Left = lprect.Left + lppoint.x
lprect.Top = lprect.Top + lppoint.y
lprect.Right = lprect.Right + lppoint.x
lprect.Bottom = lprect.Bottom + lppoint.y
ClipCursor lprect
End Sub

Private Sub CmdClip_Click()
If CmdClip.Caption = "锁定鼠标移动" Then
clipmouseTowindow CmdClip.hwnd
CmdClip.Caption = "释放鼠标"
Else
ClipCursor vbNull
CmdClip.Caption = "锁定鼠标移动"
End If
End Sub

能详细讲解一下sub过程的每一步意义吗?我不大懂,拜托了……
最佳答案
'RECT结构表示一个矩形区域
'left : 指定矩形框左上角的x坐标 top: 指定矩形框左上角的y坐标 right: 指定矩形框右下角的x坐标 bottom:指定矩形框右下角的y坐标
'POINT结构用于描叙一个点的位置 坐标X,Y
Sub clipmouseTowindow(ByVal hwnd As Long)
Dim lppoint As POINTAPI, lprect As RECT
ClientToScreen hwnd, lppoint '因为传入的是按钮的句柄 获取了按钮左上角在屏幕的坐标X,Y保存在lppoint结构变量中
GetClientRect hwnd, lprect '获取按钮矩形 保存在lprect结构中
lprect.Left = lprect.Left + lppoint.x '重新设置这个结构变量的值 左上角坐标
lprect.Top = lprect.Top + lppoint.y '左下角
lprect.Right = lprect.Right + lppoint.x '按钮在屏幕左边距X + 按钮宽度 右上角坐标
lprect.Bottom = lprect.Bottom + lppoint.y '右下角 设定完按钮在屏幕中的四个角坐标
ClipCursor lprect '锁定鼠标在这个结构变量坐标范围内
End Sub
全部回答
可以。慢慢联系我。团队首页有群号,进来找我。我周末有时间。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
辽宁大学07新闻研究生复试分数线是多少啊
阳历9月16日是什么星座
东光县质量技术监督局办公地址在什么地方?我
喜乐章怎么样
深灰色亚麻裤子配什么颜色上衣
房产中介怎么起名
单选题2006年西部地区农村义务教育阶段学生将
河北省吴桥县质量技术监督局位置在什么地方啊
金龙粮行我想知道这个在什么地方
我的驾照实习期内被交警注销,我去驾校报考驾
工程资料案卷封面应怎样编制
平泉县质量技术监督局办公地址在什么地方?我
我们生活在电磁波的海洋中,下列关于电磁波的
单选题关于C3植物和C4植物的比较正确的是A.两
For some time I’ve had a church member pr
推荐资讯
东莞市地方税务局石碣分局地址在什么地方?想
梦三国等级排行榜第一jack什么意思
从地面竖直向上抛出的物体,其匀减速上升到最
美国队长3幻视攻击猎鹰怎么会失手?这几率这
在谈到哲学与人生的关系时,哲学家卡尔·波普
单选题印度民族大起义以反英为主,中国太平天
深深的爱是什么意思?
现在买校车的学校多吗?我们培训中心想买一台
手脚发黄是什么原因
连云港开车到东营要多少公里,时间,过路费,
已知关于x的两次函数y=ax的平方+bx+c的图像经
组建家庭影院,请问幕布怎么选,另外怎么确定
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?