如果我只有一个 h_wnd,如何枚举 MFC 控件?

Posted

技术标签:

【中文标题】如果我只有一个 h_wnd,如何枚举 MFC 控件?【英文标题】:How to enumerate MFC controls if I only have a h_wnd? 【发布时间】:2009-11-30 18:44:36 【问题描述】:

老读者,第一次发帖。

在 win32 gui 应用方面我是个大菜鸟,所以这是我的问题。

假设你有一个窗口的句柄:

HWND h_wnd;

那个窗口最终有一堆控件、列表、按钮等等。

现在我相信所有控件都继承自 CWnd(也许这不是 MFC 中正确的技术术语……不确定)。那么我是否能够使用以下内容深入了解控件:

EnumChildWindows();

同样,我只能访问顶部窗口句柄。

谢谢!

【问题讨论】:

【参考方案1】:

MFC 控件是普通窗口,因此您可以使用EnumChildWindowsEnumChildWindows 递归枚举父窗口的所有子窗口。

【讨论】:

以上是关于如果我只有一个 h_wnd,如何枚举 MFC 控件?的主要内容,如果未能解决你的问题,请参考以下文章

(MFC) 如果控件是私有成员,父类如何接收控件的消息?

如果我没有为它的相应命令声明消息映射条目,如何阻止 MFC 禁用我的控件?

win32如何自己编写控件

如何使用消息访问 mfc 控件?

VC++:如何在 MFC 对话框的 propertySheet 顶部显示控件

MFC如何知道光标在那个控件上 用哪个函数?谢谢