質問です。
1つのアプリケーションの中で複数のダイアログやウィンドウの間で遷移させたくて次のような実装を考えています。
BOOL CMyApp::InitInstanse(){
  〜中略〜
  int nUI = 0;
  while(1){
    switch(nUI){
      case 0:
        CMyDialog dlg;
        dlg.DoModal();
        nUI = dlg0.m_nNextUI;
        break;
      case 1:
        CMyFrameWnd* pwnd = new CMyFrameWnd;
        if( (pwnd->LoadFrame(〜) == FALSE) || (pwnd->AddDocTemplate == FALSE) ){
           delete pwnd;
           nUI = -1;
        }
        else{
           pwnd->ShowWindow(SW_SHOW);
           nUI = pwnd->m_nNextUI;
        }
        break;
      default:
        return FALSE;
        break;
    }
  }
}
でもCWnd::ShowWindowはCDialog::DoModalのようにUIが閉じられるまで待ってくれないから
このようなコードでは正常に動作しないんですよね。本来はInitInstanseをreturn TRUEで出て
メッセージポンプ開始させるのが普通ですが、InitInstanseを出ずに使う方法は無いですか?