获取 MFC 对话框的所有控件 ID

Posted

技术标签:

【中文标题】获取 MFC 对话框的所有控件 ID【英文标题】:Get all control IDs of MFC dialog box 【发布时间】:2020-11-08 07:44:30 【问题描述】:

有没有办法获取当前 MFC 对话框的所有控件 ID? (改变所有控件的WindowText)

【问题讨论】:

见Is there a way to get a reference to all the child windows or controls on an MFC dialog, given that I have a CWnd object referencing that control?。 为什么需要控制 ID?当一个 ID 被多个控件共享时,您会怎么做(通常是 STATIC 控件)? @IInspectable 也许是他自己的多语言支持风格,不使用仅资源卫星DLL文件。 【参考方案1】:

你可以这样做:

for(CWnd* pWnd = GetWindow(GW_CHILD); pWnd != NULL; pWnd = pWnd->GetWindow(GW_HWNDNEXT))

    pWnd->SetWindowText(_T("MyText"));

当然,如果需要,您可以检查 ID 或控件 ID 的类型。

【讨论】:

以上是关于获取 MFC 对话框的所有控件 ID的主要内容,如果未能解决你的问题,请参考以下文章

MFC如何将窗口中所有控件大小随父窗口大小改变

MFC控件编程之 按钮编辑框.静态文本的使用

如何改变mfc对话框中的控件中的字体大小

MFC如何动态添加控件

MFC 中关于Edit控件问题

MFC如何获取控件在对话框上的位置坐标