【vb , ClipCursor 为什么单击之后失效】
文章插图
应该是改变了窗口的RECT信息导致失效 。可以进一步限制 , 使鼠标不能碰到窗体边界 , 试试如下代码:'俩commandPrivate Declare Sub ClipCursor Lib "user32" (lpRect As Any)Private Declare Sub GetClientRect Lib "user32" (ByVal hWnd As Long, lpRect As RECT)Private Declare Sub ClientToScreen Lib "user32" (ByVal hWnd As Long, lpPoint As POINT)Private Declare Sub OffsetRect Lib "user32" (lpRect As RECT, ByVal x As Long, ByVal y As Long)Private Type RECT left As Long top As Long right As Long bottom As LongEnd TypePrivate Type POINT x As Long y As LongEnd TypePrivate Sub Command1_Click() '限制鼠标 Dim client As RECT Dim upperleft As POINT GetClientRect Me.hWnd, client upperleft.x = client.left upperleft.y = client.top ClientToScreen Me.hWnd, upperleft OffsetRect client, upperleft.x, upperleft.y ClipCursor clientEnd SubPrivate Sub Command2_Click() '取消限制 ClipCursor ByVal 0&End SubPrivate Sub Form_Unload(Cancel As Integer) '释放 ClipCursor ByVal 0&End Sub
推荐阅读
- 为何闭环控制的精度最高? 闭环的精度为什么要控制最高
- 为什么凶死在外的禁忌停尸于堂 关于凶死在外的禁忌停尸于堂的原因
- 王者荣耀典韦为什么叫疯狗
- 水浒中宋江的绰号为什么叫呼保义 水浒中宋江叫呼保义的原因
- 绣球新芽泛黄是为什么
- 蛋白为什么打不起来怎么办
- 微信为什么没有微粒贷
- 为什么工作后混得很惨
- 孩子厌学逃学 为什么孩子会厌学
- 苹果手机微信聊天打不了字是什么原因? 苹果手机微信为什么不能打字