Freigeben über


Typsicherer Zugriff auf Steuerelemente mit Code-Assistenten

Wenn Sie mit DDX-Features vertraut sind, können Sie die Control-Eigenschaft im Assistenten zum Hinzufügen von Membervariablen verwenden, um 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. Fügen Sie diese Membervariable an die Control-Eigenschaft an.

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

Hinweis

Bei einem bestimmten Steuerelement können Sie bei Bedarf mehrere Membervariablen mit der Value-Eigenschaft und höchstens einer Membervariablen mit der Control-Eigenschaft haben. Sie können nur ein MFC-Objekt einem Steuerelement zugeordnet haben, da mehrere Objekte, die an ein Steuerelement angefügt sind, oder ein anderes Fenster zu einer Mehrdeutigkeit in der Nachrichtenzuordnung führen würde.

Sie können dieses Objekt verwenden, um alle Memberfunktionen für das Steuerelementobjekt aufzurufen. Solche Aufrufe wirken sich auf das Steuerelement im Dialogfeld aus. Für ein Kontrollkästchen-Steuerelement, das durch eine Variable m_Checkbox dargestellt wird, können CButtonSie beispielsweise Folgendes aufrufen:

m_Checkbox.SetCheck(BST_CHECKED);

Hier dient die Membervariable m_Checkbox demselben Zweck wie die MemberfunktionGetMyCheckbox, die in Type-Tresor Access to Controls Without Code Wizards angezeigt wird. Wenn es sich bei dem Kontrollkästchen nicht um ein automatisches Kontrollkästchen handelt, benötigen Sie weiterhin einen Handler in Ihrer Dialogklasse für die meldung über die BN_CLICKED Steuerelementbenachrichtigung, wenn auf die Schaltfläche geklickt wird.

Weitere Informationen zu Steuerelementen finden Sie unter "Steuerelemente".

Siehe auch

Typsicherer Zugriff auf die Steuerelemente in einem Dialogfeld
Arbeiten mit Dialogfeldern in MFC
Typsicherer Zugriff auf Steuerelemente ohne Code-Assistenten