初期化用のinit()を含むc++のwxwidgetsを使用してログを表示するダイアログボックスをポップアップしています。ダイアログをポップアップするためにinit()が必要であるか、c ++でのみmain()のみを使用して同じことができることを知りたいです。案内してください。
3 に答える
カスタムメインルーチンから wx-application を初期化する方法についての長い議論がここにあります: wxApp without Macros
私の経験からwxMessageDialog::ShowModal
、実装でモーダル ダイアログ (例: )を表示しても問題ないと言えますwxApp::OnInit
。
これは単なる質問ですが、上記のリンクで提供されている情報を使用すると、呼び出し後にモーダル ダイアログを表示できるはずです。
wxApp::SetInstance( new MyWxApp() );
wxEntryStart( argc, argv );
Are you talking about a dialog box:
wxMessageDialog
Or a Splash Screen: wxSplashScreen
You could always use the underlying OS API to draw your own windows; although that may take a lot of setup.
あなたの質問を理解するのは非常に難しいです。
作成するコントロールのコンストラクターやその他のメソッドを呼び出すための WHERE について質問していると思います。これは、wxWidgets ディストリビューションに付属するサンプル アプリケーションを調べることによって最もよく答えられます。
プログラムの main() 関数からは何も呼び出さないでください。wxAPP メソッド Init() から最上位フレームのコンストラクタを呼び出す必要があります。残りは、おそらく最上位のウィンドウ コンストラクターとそのメソッドから呼び出す必要があります。これらの質問に一般的に答えることは困難です。サンプルコードを見て、どのように処理されているかを確認してください。