Visual c++ 运行时的MFC控件唯一标识符
我对同一组对照重复了10次。有很多逻辑,所以我重构了对话框,使其只有一个1cDialog,但重复了10次 因此,与10个ID为的编辑框不同:Visual c++ 运行时的MFC控件唯一标识符,visual-c++,mfc,controls,Visual C++,Mfc,Controls,我对同一组对照重复了10次。有很多逻辑,所以我重构了对话框,使其只有一个1cDialog,但重复了10次 因此,与10个ID为的编辑框不同: IDD_DIALOG DIALOGEX 0, 0, 680, 347 STYLE DS_SETFONT | WS_CHILD FONT 10, "Segoe UI", 0, 0, 0x1 BEGIN EDITTEXT IDC_EDT_NAME1,34,226,80,14,ES_AUTOHSCROLL|E
IDD_DIALOG DIALOGEX 0, 0, 680, 347
STYLE DS_SETFONT | WS_CHILD
FONT 10, "Segoe UI", 0, 0, 0x1
BEGIN
EDITTEXT IDC_EDT_NAME1,34,226,80,14,ES_AUTOHSCROLL|ES_READONLY
...
EDITTEXT IDC_EDT_NAME10,34,226,80,14,ES_AUTOHSCROLL|ES_READONLY
END
现在我有这个:
IDD_DIALOG DIALOGEX 0, 0, 680, 347
STYLE DS_SETFONT | WS_CHILD
FONT 10, "Segoe UI", 0, 0, 0x1
BEGIN
EDITTEXT IDC_EDT_NAME,34,226,80,14,ES_AUTOHSCROLL|ES_READONLY
END
但我在屏幕上复制了10次。到目前为止还不错…我现在的问题是,我需要识别屏幕中的控件以使用自动化测试工具,并且所有10个编辑框的控件ID始终相同。控件中是否有任何属性可以用来唯一标识控件ID之外的控件
谢谢。使用单独编号的子对话框,然后将控件放置在子对话框中。使用WS_CHILD 有了这个技巧,你也可以确定孩子的父母 在代码项目中,您可以找到如何在对话框中嵌入子对话框的示例和要求 另一种方法是在创建控件后设置新ID。
CWnd::SetDlgCtrlID将执行此操作。您可以通过这种方式保持它们的唯一性我的问题不是如何嵌入对话框…这已经实现并正在运行…我需要分别识别这些嵌入对话框中的每个控件。测试团队正在使用一个工具,通过使用ControlID识别所有控件,现在所有的id都被复制。更改了我的答案