我的 wxWidgets 应用程序中有一个函数,它可以由 certrain 事件(按钮按下)触发。现在我想在这个函数中运行我在另一个面板中的列表框的方法,用于显示一些条目等。列表框在主应用程序类的 onInit() 方法中实例化。
我的问题是,如何获得对这个列表框的引用,以便访问它的打印方法?
我的 wxWidgets 应用程序中有一个函数,它可以由 certrain 事件(按钮按下)触发。现在我想在这个函数中运行我在另一个面板中的列表框的方法,用于显示一些条目等。列表框在主应用程序类的 onInit() 方法中实例化。
我的问题是,如何获得对这个列表框的引用,以便访问它的打印方法?
通常,有一个派生自 wxWidgets 表单的类,您可以在其中完成所有工作。父类设置表单,然后子类可以访问其所有控件,因为它们是父类的成员。
简而言之,您的每个控件都应该是您可以访问的成员变量。
使用 wxFormBuilder(或其他图形 IDE)可能会有所帮助,因为它们会为您生成代码,为您提供一个经过验证的真实框架来进行更改。
创建列表框时,您为其分配了一个 ID。在调用 FindWindowById 时使用该 ID
http://docs.wxwidgets.org/2.8/wx_wxwindow.html#wxwindowfindwindowbyid
// Construct listbox
wxListBox ( this, ID_LISTBOX );
...
// get pointer to listbox
wxListBox* pListBox = findwindowbyid( ID_LISTBOX )