Ich hatte einen CDialog mit der gleichen Gruppe von Steuerelementen 10 Mal wiederholt. Es gab eine Menge Logik, so dass ich den Dialog so umstrukturierte, dass ich nur einen CDialog hatte, aber 10 Mal wiederholt wurde.MFC-Steuerelement eindeutige Kennung zur Laufzeit
Statt 10 Bearbeitungsfeld mit IDs aufweist:
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
Jetzt habe ich dies: auf dem Bildschirm
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
Aber ich kopieren Sie es 10-mal. So weit, so gut ... mein Problem ist jetzt, dass ich Kontrollen auf dem Bildschirm identifizieren muss, um ein Automatisierungstestwerkzeug zu verwenden, und die Kontroll-ID ist immer die gleiche für alle 10 Bearbeitungsfelder. Gibt es eine Eigenschaft in der Kontrolle, die ich verwenden kann, um Kontrollen außer der Kontroll-ID eindeutig zu identifizieren?
Danke.
Mein Problem ist nicht, wie die Dialoge einzubetten ... das ist bereits implementiert und funktioniert .... Ich muss jedes Steuerelement in diesen eingebetteten Dialogen einzeln identifizieren. Das Testteam verwendet ein Tool, mit dem alle Steuerelemente mithilfe der Steuer-ID identifiziert werden, und nun werden alle diese IDs dupliziert. –
Änderte meine Antwort – xMRi