如何获取wxWidgets面板(列表框)的引用

How to get reference of wxWidgets panel (listbox)?

本文关键字:列表 引用 面板 wxWidgets 获取 何获取      更新时间:2023-10-16

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

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

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

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

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

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