请教如何获得窗体上控件的句柄???

pengmy 2003-10-17 04:26:25
我窗体上有一个控件,这种控件属性里没有hwnd,请问我该如何获得这种控件的句柄,前面我看了一些同行说用
控件hWnd=GetDlgItem(对话框hWnd, 控件ID)
但我不知道怎么去得到控件ID?如果用
控件ID=GetDlgCtrlID(HWND hwndCtl)
来找控件ID的话,hwndCtl正是我要求的。
请高手指点!!!
...全文
56 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
MXHCXY 2003-11-06
  • 打赏
  • 举报
回复
急切关注,如果谁有类似的例子,请发给我,我出500分!
cxymxh@163.com
QQ:187150625
MSN:cxymxh@163.com
goodname008 2003-10-31
  • 打赏
  • 举报
回复
FindWindow

VB声明
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
说明
寻找窗口列表中第一个符合指定条件的顶级窗口(在vb里使用:FindWindow最常见的一个用途是获得ThunderRTMain类的隐藏窗口的句柄;该类是所有运行中vb执行程序的一部分。获得句柄后,可用api函数GetWindowText取得这个窗口的名称;该名也是应用程序的标题)
返回值
Long,找到窗口的句柄。如未找到相符窗口,则返回零。会设置GetLastError
参数表
参数 类型及说明
lpClassName String,指向包含了窗口类名的空中止(C语言)字串的指针;或设为零,表示接收任何类
lpWindowName String,指向包含了窗口文本(或标签)的空中止(C语言)字串的指针;或设为零,表示接收任何窗口标题
注解
很少要求同时按类与窗口名搜索。为向自己不准备参数传递一个零,最简便的办法是传递vbNullString常数

示例
Dim hw&, cnt&
Dim rttitle As String * 256
hw& = FindWindow("ThunderRT5Main", vbNullString)
cnt = GetWindowText(hw&, rttitle, 255)
MsgBox Left$(rttitle, cnt), 0, "RTMain title"
pengmy 2003-10-23
  • 打赏
  • 举报
回复
也许是做这个控件的同行把HWnd属性给忘了,唉,谁有妙计?!
pengmy 2003-10-23
  • 打赏
  • 举报
回复
我用的控件是从网上下的,叫AresButton,功能很多,遗憾的是没有hWnd属性,进行一些底层操作不方便。希望知道者赐教!
pengmy 2003-10-23
  • 打赏
  • 举报
回复
用“圆形按钮”为搜索条件
pengmy 2003-10-23
  • 打赏
  • 举报
回复
用google一搜就出来了
pengmy 2003-10-23
  • 打赏
  • 举报
回复
能给我就FindWindow 或 FindWindowEx 的用法举个短小例子吗,主要是里面的参数
AresChen 2003-10-23
  • 打赏
  • 举报
回复
问一下,是从哪下的?
lsm0959 2003-10-23
  • 打赏
  • 举报
回复
用spy++获得它及其父窗体的classname和windowtext就可以用这些条件枚举了
zyl910 2003-10-18
  • 打赏
  • 举报
回复
轻量级控件 都是 VB在接到WM_Paint消息时临时画上去的
临时画的图像可能有窗口吗?!
goodname008 2003-10-18
  • 打赏
  • 举报
回复
轻量级控件是没有,其他的可以用下面两个函数找找看。
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
rainstormmaster 2003-10-17
  • 打赏
  • 举报
回复
//那对没有hwnd的控件如何操作呢?
取决于进行什么操作
tanta 2003-10-17
  • 打赏
  • 举报
回复
那对没有hwnd的控件如何操作呢?
rainstormmaster 2003-10-17
  • 打赏
  • 举报
回复
什么控件,有些控件是程序运行时画上去的,没有hwnd,比如lable控件

1,486

社区成员

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

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