从 wxWindow 类访问 GetValue()
如果将 wxWidgets 下的 GUI 控件声明为 wxWindow 而不是 wxCheckBox 或 wxRadioButton 等,是否有任何方法可以访问它的 GetValue() 成员? 谢谢。
Is there any way to access the GetValue() member of a GUI control under wxWidgets, if it is declared as a wxWindow rather than a wxCheckBox or wxRadioButton etc?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
声明为
WxWindow
的对象不是 GUI 控件。声明为WxWindow*
的指针可能指向wxStaticText
对象或wxCheckBox
对象。你必须做一个dynamic_cast< >
来找出答案。一旦您知道它是一个wxCheckBox
,您就可以调用wxCheckBox::GetValue
。同样,如果它是wxRadioButton
,则可以调用wxRadioButton::GetValue
。请注意,根据 C++ 规则,wxCheckBox::GetValue 和 wxRadioButton::GetValue 完全不相关。它们只是碰巧具有相同的方法名称。
An object declared as
WxWindow
is NOT a GUI control. A pointer declared as aWxWindow*
might point to awxStaticText
object or awxCheckBox
object. You'd have to do adynamic_cast< >
to find out. Once you know it's awxCheckBox
, you can callwxCheckBox::GetValue
. Similarly, if it's awxRadioButton
, you can callwxRadioButton::GetValue
.Note that per C++ rules,
wxCheckBox::GetValue
andwxRadioButton::GetValue
are entirely unrelated. They just happen to have the same method name.除非通过虚函数调用,否则您不能从基指针调用派生函数,所以不能。
不过,您可以沮丧并访问该功能。
You can't call a derivative's function from a base pointer unless it's through a virtual function call, so no.
You can downcast though and get access to that function.