如何使用main()而不是init()在c ++ wxidgets中弹出一个对话框

时间:2013-02-25 04:51:04

标签: c++ wxwidgets dialog

我正在使用cx的wxwidgets显示日志来弹出一个对话框,其中包含用于初始化的init()。我想知道init()是弹出对话框所必需的,或者只能在c ++中使用main()来完成。请指导我。

3 个答案:

答案 0 :(得分:1)

您可以在此处找到有关如何从自定义主例程初始化wx-application的冗长讨论:wxApp without Macros

根据我的经验,我可以告诉你,可以在wxMessageDialog::ShowModal实现中显示模态对话框(例如wxApp::OnInit)。

这只是一个问题但是,使用上面link中提供的信息,您应该能够在调用后显示模态对话框:

   wxApp::SetInstance( new MyWxApp() );
   wxEntryStart( argc, argv );

答案 1 :(得分:0)

你在谈论一个对话框:
wxMessageDialog

或启动画面:wxSplashScreen

您始终可以使用底层OS API来绘制自己的窗口;虽然这可能需要很多设置。

答案 2 :(得分:0)

很难理解你的问题。

我猜你在询问WHERE来调用你想要创建的控件的构造函数和其他方法。通过查看wxWidgets发行版附带的示例应用程序,可以获得最佳答案。

您不应该从程序的main()函数中调用任何内容。您应该从wxAPP方法Init()调用顶级框架的构造函数。其余的应该可以从顶级窗口构造函数及其方法调用。一般来说很难回答这些问题。请查看示例代码以了解事情是如何完成的。