有没有办法不破坏wxwidget的对话子

时间:2016-04-05 15:11:27

标签: c++ wxwidgets

我有一个填充了auinotebook选项卡面板的对话框但是每次关闭对话框都会破坏我的选项卡,但是我想知道是否有一种方法可以将选项卡保留在内存中,以便下次创建对话新鲜。我不想缓存对话框,只是标签。

我在堆栈上创建对话框,因此当我关闭它时会调用析构函数,但是我在堆上创建了一个选项卡并有一个映射来保留选项卡的地址,但是由于对话框的子项被销毁,所以它们被分配。

任何想法,如果这是可能的?如果有任何提示怎么做?

1 个答案:

答案 0 :(得分:0)

当窗口本身被破坏时,你不能让一个窗口的孩子保持活着,所以你需要保持整个对话框(通常通过隐藏它,如@ravenspoint建议的那样),或重新显示下面的选项卡一些其他窗口,然后在重新创建时在对话框下重新显示它们。但是,后者与前者相比有什么优势并不是很清楚,所以我只是保持对话。

另一个可能相关的有用技巧是仅按需构建选项卡,即最初仅构建第一个选项卡,并仅在它们即将显示时创建其他选项卡。创建单个选项卡的IME应该足够快,即使创建它们所需的时间太长也是如此。