gpt4 book ai didi

c++ - wxDialog 与 wxMenuBar

转载 作者:太空宇宙 更新时间:2023-11-04 12:22:48 24 4
gpt4 key购买 nike

我有大量使用 wxWidgets 的现有代码。主窗口是wxDialog。现在我必须向该对话框添加一个 wxMenuBar。但是,为了做到这一点,窗口应该派生自 wxFrame。

是否可以将 wxMenuBar 添加到 wxDialog 中?如果不是,是否有可能以主窗口派生自 wxFrame 而不是 wxDialog 的方式转换现有代码?

最佳答案

不可能将 native 菜单栏添加到 wxDialog,但是,可以使用非 native 菜单栏控件,如 wxFlatMenuBar(不包含在 wxWidgets 中),并将其添加到对话框的顶部,就像这只是另一个控制。另请注意,除了作为非 native 菜单栏之外,您也无法使用某些 wxWidgets API 来管理它,例如 wxUpdateUIEvents。

在将 wxDialog 更改为 wxFrame 时,至少需要考虑几件事情。

首先,如果您的对话框是模态对话框,您将需要手动将新框架设置为模态(使用 wxWindow::MakeModal())而不是调用 ShowModal()。

其次,如果您为肯定(例如确定/应用按钮)或退出(取消或窗口关闭)事件设置了任何事件处理程序,您可能需要重写它们以处理窗口行为的变化。

关于c++ - wxDialog 与 wxMenuBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4042829/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com