Windows2000 VC6.0 SDIで開発をしています。
OnInitialUpdate()で初期化する際に、サーバにコネクトするように
しています。その際、コネクトできなかったら、終了させたいのですが、
どのように終了させれば良いのか分かりません。
OnAppExit や OnDestroy を使用するのかなと思って書いてみたのですが、
これらの処理は、ウインドウが描画されてから有効になるのでしょうか?
DialogベースだとEndDialog(IDCANCEL)で簡単にできたのですが、
同じように、SDIで終了させる方法はありますでしょうか。
よろしくお願いいたします。
OnInitialUpdate でサーバコネクトですか?
そりゃ設計が変。すっごく変。
終了させるにはとりあえず PostQuitMessage とか。
PostQuitMessage(0);
と書いてみたのですが、一度ウインドウが起動してから終了します。
ウインドウを表示させないで終了させる方法はありますでしょうか。
よろしくお願いいたします。
サーバコネクトが必須であるなら OnInitialUpdate でこれをチェックするのでは
手遅れだということは大丈夫でしょうか?
# っていうかサーバコネクションって View の所有物なの?
ウィンドウを出さないで終了させるには InitInstance での処理が必要です。
AppWizard の出力した MFC SDI アプリの CXXXWinApp::InitInstance で
いきなり return FALSE すれば窓は出ません。
スプラッシュスクリーンもなしダイアログもなしエラー警告もなしで
だんまりのまま終了ですか?俺がユーザーだったら怒り狂うでしょうなぁ。
tetrapodさんご忠告ありがとうございます。
使い方が特注でして、このような仕様になっています。
一度、コネクトして、接続できなかった場合には、
[中止][再試行][無視]のダイアログを出そうとしています。
ここで、[中止]が押された場合の処理で、ウインドウを
クローズしたいのですが、ちょっと描画されてしまうので
見た目が気になりました。
とりあえず、ShowWindow(SW_HIDE)でできるだけ
見せないようにしました。
ありがとうございました。