求各位进来看下GetCursorPos这个函数.....十分感谢!!

dazhi518 2011-01-07 08:35:13
我试着做一个小程序,窗体上有一个图片框,我想通过窗体的右键单来设置图片框的位置,即在鼠标在窗上的位置.
可是听说API好像是以像素为单位的.而窗体以 缇 为单位,点击右键后图片框总是在别的地方,我把窗体的ScaluMode属性
设为像素后,图片框仍不能到鼠标的位置..我的代码如下,
请各位多多赐教,我改如何改写??十分感谢...
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Type POINTAPI
X As Long
Y As Long
End Type

Dim mypos As POINTAPI

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
GetCursorPos mypos
If Button = 2 Then
Picture1.Left = mypos.X
Picture1.Top = mypos.Y
End If
End Sub
...全文
90 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
dazhi518 2011-01-07
  • 打赏
  • 举报
回复
哈哈,这么简单我还想着去用API..唉 ....谢谢楼上..
dbcontrols 2011-01-07
  • 打赏
  • 举报
回复
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then
Picture1.Left = X
Picture1.Top = Y
End If
End Sub

[Quote=引用 3 楼 dazhi518 的回复:]
噢,听君一席话,胜读十年书,呵呵...还请你好人做到底,我该如何获取鼠标在窗体上的位置呢?谢谢
[/Quote]
dazhi518 2011-01-07
  • 打赏
  • 举报
回复
噢,听君一席话,胜读十年书,呵呵...还请你好人做到底,我该如何获取鼠标在窗体上的位置呢?谢谢
dbcontrols 2011-01-07
  • 打赏
  • 举报
回复
GetCursorPos得到的是鼠标在整个windows系统屏幕上的位置
Picture1.Left 等设置的是Picture1在它容器内部的位置,比如在窗体内的位置
Picture1不是独立的,所以无法设置在整个屏幕上的位置
比如GetCursorPos得到的是你在整个银河系的位置
Picture1是你的房子

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧