Gibt es eine Möglichkeit, auf den GetValue() - Member eines GUI-Steuerelements unter WxWidgets zuzugreifen, wenn es als WxWindow und nicht als WxCheckBox oder WxRadioButton usw. deklariert wird? Danke.Zugreifen auf GetValue() von wxWindow Klasse
Antwort
Ein als WxWindow
deklariertes Objekt ist KEIN GUI-Steuerelement. Ein als WxWindow*
deklarierter Zeiger könnte auf ein wxStaticText
Objekt oder ein wxCheckBox
Objekt zeigen. Sie müssen eine dynamic_cast< >
tun, um herauszufinden. Sobald Sie wissen, dass es ein wxCheckBox
ist, können Sie wxCheckBox::GetValue
anrufen. Wenn es sich um eine wxRadioButton
handelt, können Sie wxRadioButton::GetValue
anrufen.
Beachten Sie, dass nach C++ - Regeln wxCheckBox::GetValue
und wxRadioButton::GetValue
völlig unabhängig sind. Sie haben zufällig den gleichen Methodennamen.
Sie können die Funktion eines Derivats nicht von einem Basiszeiger aufrufen, es sei denn, es erfolgt ein virtueller Funktionsaufruf, also nein.
Sie können jedoch Downcast und Zugriff auf diese Funktion erhalten.