如何获取wxWidgets面板(列表框)的参考?

时间:2013-11-07 20:56:35

标签: c++ user-interface reference wxwidgets

我的wxWidgets应用程序中有一个函数,可以通过certrain事件(按钮按下)触发。现在我想在这个函数中运行一个列表框的方法,我在另一个面板中,用于显示一些条目等。列表框是在主应用程序类的onInit()方法中实现的。

我的问题是,如何获得对此列表框的引用,以便我可以访问它的打印方法?

2 个答案:

答案 0 :(得分:1)

通常,有一个派生自wxWidgets表单的类,您可以在其中完成所有工作。父类设置表单,然后子类可以访问其所有控件,因为它们是父类的成员。

简而言之,您的每个控件都应该是您有权访问的成员变量。

使用wxFormBuilder(或其他图形IDE)可能会有所帮助,因为它们会为您生成代码,为您提供一个可以进行更改的经过验证的框架。

答案 1 :(得分:1)

创建列表框时,您为其分配了一个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 )