我有一个项目,我想要显示或隐藏许多wxPanel,具体取决于用户的选择。所有面板都在同一个位置,一次只显示一个。
在代码方面,根本没有问题。如果它变得棘手,是如何使用wxSmith管理它并保持清晰的视图,同时在样本位置有许多wxpanel?
一种非常不合适的方法是使用wxNotebook,然后当你开始软删除所有标签然后显示所需的面板。
我环顾四周尝试将面板放在“其他”wxSmith窗口上然后加载它,就像一个类但没有找到任何好的。
我敢肯定,因为wxSmith真的是一个很棒的工具,它必须有办法做到这一点。
感谢您的帮助!
见你
答案 0 :(得分:0)
“一种非常不合适的方法是使用wxNotebook,然后当你开始软删除所有标签然后显示所需的面板。”
为什么不呢?我将这种技术用于AtomWeaver,它运行正常。好的一面是,您可以在RAD GUI构建器上正常设计每个页面。
我创建了一个名为GUI_NotebookPageData的类,它包含指向单个笔记本页面的指针。创建一个这样的数组,保存有关所有笔记本页面的信息。
然后,通过索引或名称,获取要显示/隐藏的页面的信息,并使用wxNotebook的RemovePage()/ InsertPage()方法。
此方法特别适合同时显示多个页面。
答案 1 :(得分:0)
实际上可以将外部资源与wxSmith一起使用,然后管理帧非常简单。
它在一个新的wxSmith窗口上从wxPanel(或其他窗口)创建一个派生类,易于管理,只需要将其包含在项目中。