假设我有一个 MFC 对话框,上面有几个按钮。 (例如“红色”、“蓝色”、“绿色”和“黄色”按钮)这些按钮都有 ID,例如("IDC_BUTT_RED","IDC_BUTT_BLUE","IDC_BUTT_GREEN","IDC_BUTT_YELLOW")
假设我有一个 CWnd 对象,它引用这些按钮所在的对话框窗口。有没有办法获得这些ID的列表?
我知道有一个CWnd::GetNextDlgGroupItem
方法,基于描述应该迭代一组控件。我尝试使用它,传入一个引用其中一个按钮的 CWnd 对象,然后调用GetWindowText
方法来检查,但它总是返回对其自身的引用。
您可以使用 EnumChildWindows 枚举对话框的所有子窗口。这是一个 C API 函数,因此您可以使用并获取 HWND,而不是 CWnd。当每个子窗口的 HWND 传递给回调函数时,您可以调用 GetClassName 来查找其窗口类名称(如“BUTTON”),并调用 GetWindowLong 来查找其 ID。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)