vb 获取如何自己子控件的句柄

点击一个按钮的时候获取,比如获取一个Picture1的... 点击一个按钮的时候获取,比如获取一个Picture1的 展开
 我来答
百度网友b043102
2010-07-21 · TA获得超过769个赞
知道答主
回答量:123
采纳率:0%
帮助的人:71.7万
展开全部
新建一个工程,添加两个lable,一个command,一个timer
复制以下代码,再生成EXE文件,打开那个文件,即可获取鼠标所在的坐标与句柄
代码如下:
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
'返回包含了指定点的窗口的句柄
Private Declare Function WindowFromPoint Lib "user32" (ByVal xPoint As Long, ByVal yPoint As Long) As Long
Private Type POINTAPI
x As Long
y As Long
End Type

Dim p As POINTAPI

Private Sub Command1_Click()
GetCursorPos p
Dim hwnd As Long
Dim pt As POINTAPI
GetCursorPos pt '取得鼠标坐标信息
hwnd = WindowFromPoint(p.x, p.y) '获取句柄
If MsgBox("X坐标: " & p.x & " ,Y坐标:" & p.y & " 鼠标指向句柄:" & hwnd & "", vbOKOnly, "查看句柄与坐标") = 6 Then
End If
End Sub

Private Sub Form_Load()
Timer1.Timer = 5
GetCursorPos p
Dim hwnd As Long
Dim pt As POINTAPI
GetCursorPos pt '取得鼠标坐标信息
hwnd = WindowFromPoint(p.x, p.y) '获取句柄
Me.Caption = "坐标与窗口句柄查看器"
Label3.Caption = "X坐标:" & p.x & ",Y坐标:" & p.y & ""
Label1.Caption = " 当前指向窗口句柄: " & hwnd & ""
Command1.Caption = "获取鼠标指向句柄与坐标(&H)"
End Sub

Private Sub Form_Unload(Cancel As Integer)
End
End Sub

Private Sub timer1_timeR()
GetCursorPos p
Dim hwnd As Long
Dim pt As POINTAPI
GetCursorPos pt '取得鼠标坐标信息
hwnd = WindowFromPoint(p.x, p.y) '获取句柄
Label1.Caption = " 当前指向窗口句柄: " & hwnd & ""
Label3.Caption = "X坐标: " & p.x & " ,Y坐标:" & p.y & ""
End Sub
liuekj
2010-07-12 · TA获得超过163个赞
知道小有建树答主
回答量:235
采纳率:0%
帮助的人:0
展开全部
就是控件的 .hWnd

Picture1 的就是 Picture1.hWnd

有此控制是没有的,例如 Label Shape
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式