怎么取一个对话框的子控件集合

蟾宫伐桂 青岛豪科软件有限公司(济南分公司) CTO  2005-08-29 03:17:22
我想取一个第三方程序的主窗口中所有的控件,要怎么办?
...全文
67 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
vcmute 2005-09-03
GetDlgCtrlID
The GetDlgCtrlID function retrieves the identifier of the specified control.

int GetDlgCtrlID(
HWND hwndCtl // handle to control
);
回复
通过窗口的句柄用GetWindowLong可以得到控件窗口的ID
回复
蟾宫伐桂 2005-09-03
多谢楼上各位, 不过我的意思没表达清楚,我是想说怎么取每一个控件的ID, 就是设计时写死的ID, 不是运行时的hwnd.
回复
bobob 2005-08-29
功能:枚举给定窗口的所有层子窗口
#include <windows.h>
#include <STDIO.H>
BOOL myEnumWindow(HWND hwnd);
int main()
{
myEnumWindow(your hwnd);//这里传入第三方窗口的句柄
return 0;
}

BOOL myEnumWindow(HWND inHwnd)
{
char szText[256];

HWND hwndAfter = NULL;
while(hwndAfter = ::FindWindowEx(inHwnd,hwndAfter,NULL,NULL))
{
memset(szText,0,256);
::SendMessage(hwndAfter,WM_GETTEXT,(WPARAM)256,(LPARAM)szText);
printf("%s\t",szText);
myEnumWindow(hwndAfter);
}
return 1;
}
回复
Kudeet 2005-08-29
GetWindow is ok
回复
lixiaosan 2005-08-29
EnumChildWindows Function

The EnumChildWindows function enumerates the child windows that belong to the specified parent window by passing the handle to each child window, in turn, to an application-defined callback function. EnumChildWindows continues until the last child window is enumerated or the callback function returns FALSE.

Syntax

BOOL EnumChildWindows(

HWND hWndParent,
WNDENUMPROC lpEnumFunc,
LPARAM lParam
);
回复
everandforever 2005-08-29
EnumChildWindows
回复
相关推荐
发帖
界面
创建于2007-09-28

1.5w+

社区成员

VC/MFC 界面
申请成为版主
帖子事件
创建了帖子
2005-08-29 03:17
社区公告
暂无公告