不知道本问题是否简单???第一个解决问题者,得满分!

chendjin 2004-08-28 04:15:04
我做了一个屏闪,可屏闪结束后,鼠标本来在屏幕中心却突然停靠屏幕左边,这是怎么回事?
能否用代码控制回到屏幕中心,当然这点小事移动鼠标即可,但我想更人性化一点!
...全文
65 点赞 收藏 3
写回复
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
rainstormmaster 2004-08-28
你要用屏幕坐标:

Option Explicit
Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
Private Sub Command1_Click()
Dim x As Long
Dim y As Long
x = Screen.Width \ Screen.TwipsPerPixelX
y = Screen.Height \ Screen.TwipsPerPixelY
SetCursorPos x \ 2, y \ 2
End Sub

回复
chendjin 2004-08-28
to rainstormmaster:
通过如下调用,鼠标指针并未停在屏幕中央,而是移动鼠标后才出现在右下
角,怎么解释啦?FrmLogon窗体停靠屏幕中央。
Call SetCursorPos(FrmLogon.Left + FrmLogon.Width / 2, FrmLogon.Top + FrmLogon.Height / 2)
回复
rainstormmaster 2004-08-28
用api函数SetCursorPos:
【VB声明】
Private Declare Function SetCursorPos Lib "user32" Alias "SetCursorPos" (ByVal x As Long, ByVal y As Long) As Long

【说明】
设置指针的位置

【返回值】
Long,非零表示成功,零表示失败。会设置GetLastError

【参数表】
x,y ------------ 鼠标指针在屏幕像素坐标系统中的X,Y位置
回复
发动态
发帖子
VB基础类
创建于2007-09-28

7451

社区成员

VB 基础类
申请成为版主
社区公告
暂无公告