Freigeben über


Type-Safe Zugriff auf Steuerelemente mit Code-Assistenten

Wenn Sie mit den Funktionen von DDX vertraut sind, können Sie die Eigenschaft Control im Assistenten zum Hinzufügen von Membervariablen verwenden, um einen typsicheren Zugriff zu erstellen. Dieser Ansatz ist einfacher als das Erstellen von Steuerelementen ohne Code-Assistenten.

Wenn Sie einfach auf den Wert eines Steuerelements zugreifen möchten, stellt DDX ihn bereit. Wenn Sie mehr tun möchten als auf den Wert eines Steuerelements zuzugreifen, verwenden Sie den Assistenten zum Hinzufügen von Membervariablen, um ihrer Dialogklasse eine Membervariable der entsprechenden Klasse hinzuzufügen. Ordnen Sie diese Member-Variable der Eigenschaft Control zu.

Member-Variablen können eine Control-Eigenschaft anstelle einer Value-Eigenschaft haben. Die Value-Eigenschaft bezieht sich auf den Typ der vom Steuerelement zurückgegebenen Daten, wie z. B. CString oder int. Die Control-Eigenschaft ermöglicht direkten Zugriff auf das Steuerelement über ein Datenelement, dessen Typ eine der Steuerelementklassen in MFC ist, z. B. CButton oder CEdit.

Hinweis

Bei einem bestimmten Steuerelement können Sie, wenn Sie möchten, mehrere Member-Variablen mit der Value-Eigenschaft und höchstens eine Member-Variable mit der Control-Eigenschaft haben. Sie können einem Steuerelement nur ein MFC-Objekt zuordnen, da mehrere Objekte, die einem Steuerelement oder einem anderen Fenster zugeordnet sind, zu einer Mehrdeutigkeit in der Message-Map führen würden.

Sie können dieses Objekt verwenden, um beliebige Mitgliedsfunktionen des Steuerelements aufzurufen. Solche Aufrufe wirken sich auf das Steuerelement im Dialogfeld aus. Für ein Steuerelement mit Kontrollkästchen, das durch eine Variable m_Checkbox vom Typ CButton dargestellt wird, könnten Sie zum Beispiel aufrufen:

m_Checkbox.SetCheck(BST_CHECKED);

Hier dient die Membervariable m_Checkbox demselben Zweck wie die Memberfunktion GetMyCheckbox , die in Type-Safe Zugriff auf Steuerelemente ohne Code-Assistenten angezeigt wird. Wenn das Kontrollkästchen kein automatisches Kontrollkästchen ist, benötigen Sie dennoch einen Handler in Ihrer Dialogklasse für die BN_CLICKED-Benachrichtigung, wenn auf die Schaltfläche geklickt wird.

Weitere Informationen zu Steuerelementen finden Sie unter "Steuerelemente".

Siehe auch

Type-Safe Zugriff auf Steuerelemente in einem Dialogfeld
Arbeiten mit Dialogfeldern in MFC
Type-Safe Zugriff auf Steuerelemente ohne Code-Assistenten