如何获取一个控件在整个屏幕中的坐标(位置)?

caixicn 2005-09-13 11:30:59
如何获取一个控件在整个屏幕中的坐标(位置)?
...全文
773 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
swordzq 2005-09-22
  • 打赏
  • 举报
回复
Private Type POINTAPI
X As Long
Y As Long
End Type

Private Declare Function ClientToScreen Lib "user32" (ByVal hwnd As Long, lpPoint As POINTAPI) As Long

Dim MyPoint as POINTAPI
' X,Y 为你想要转换的坐标值,比如一个控件内部的坐标
' MyHwnd 指定相对应窗口的句柄

MyPoint.X = X
MyPoint.Y = Y
ret = ClientToScreen(MyHwnd, MyPoint)

'执行后得到X,Y相对于句柄为MyHwnd的窗口的屏幕坐标,
Text5.Text = MyPoint.X
Text6.Text = MyPoint.Y

caixicn 2005-09-15
  • 打赏
  • 举报
回复
不是我不想给分呀,我没分用了呀。。。不好意思呀。。
PacificBlue 2005-09-15
  • 打赏
  • 举报
回复
利用窗体在屏幕中的Screen.X 和Screen.Y 再加上控件在窗体中的位置就可以算出来吧,试试看。
jjun816 2005-09-15
  • 打赏
  • 举报
回复
帮忙顶一下
WM_JAWIN 2005-09-15
  • 打赏
  • 举报
回复
这世界上还有比我穷的,那就算了.嘻
private sub GetScrPos(obj as object)

Y=(me.top + obj.top) /15
X=(me.left + obj.left) /15
msgbox "控件:" & obj.name & "在屏幕上的坐标为:(" &(x) &"," &(y) &")"
end sub'<--未调试



WM_JAWIN 2005-09-14
  • 打赏
  • 举报
回复
API:ClientToScreen()
WM_JAWIN 2005-09-14
  • 打赏
  • 举报
回复
坐标转换,一个数学逻辑转换,翻翻你的高中数学吧。没问分的,就这样了解
caixicn 2005-09-14
  • 打赏
  • 举报
回复
能说清楚点么?

7,762

社区成员

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

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