gpt4 book ai didi

c++ - WxWidgets 在第一个关闭后显示表单

转载 作者:行者123 更新时间:2023-11-28 06:34:13 24 4
gpt4 key购买 nike

我目前正在从事一个项目,该项目涉及 3D 部分的 OGRE 和用户界面的 WXWidgets。我已经按照 hello world 教程进行操作,并且能够创建应用程序、窗口和消息映射。目标是在启动时显示一个窗口,您可以在其中选择一些特定设置,例如全屏、纹理质量和其他一些特定于应用程序的设置。选择设置后,需要关闭窗口,然后使用窗口中的设置启动 OGRE 部分。

我试图将代码放入 init 函数中以启动 ogre 的新窗口:

bool MyApp::OnInit() {
MyFrame *frame = new MyFrame( "Settings", wxPoint(50, 50), wxSize(640, 480) );
frame->Show( true );
start_ogre();
return true;
}

问题是两种形式同时显示。应用程序、框架和窗口在我的代码中分为不同的类。我还尝试将代码放在 main.cpp 中的 wxwidget 代码之后:

wxIMPLEMENT_APP(MyApp);
start_ogre();

这给出了同样的问题。我也在 close 事件中尝试过,但那没有任何作用。

有没有一种简单的方法可以让 OGRE 表单仅在设置表单关闭时显示,而无需关闭我的应用程序或同时启动两者?

最佳答案

您可以使用对话框而不是框架,并使用 ShowModal() 显示它。这将阻塞,直到用户关闭或关闭对话框。您需要从 wxDialog 派生您的对话框,并且您需要添加一些具有适当 ID 的按钮来关闭或关闭对话框。为此,您可以使用 CreateStdDialogBu​​ttonSizer(long) 方法,您的对话框继承自 wxDialog

关于c++ - WxWidgets 在第一个关闭后显示表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27013959/

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