- 締切済み
連続してダイアログを表示したい?
VC++6.0を使用しています。 以下のようなコードでダイアログを連続して表示しようと思っています。1番目のダイアログを表示してOKボタンを押下後(このときこのダイアログは消えて)、2番目のダイアログを表示したいと思っているのですが2番目が表示できません。(1番目のところをコメントにすれば2番目は表示できます。)どうして2番目のダイアログが表示できないのでしょうか? // 1番目のダイアログ CTest1Dlg dlg; m_pMainWnd = &dlg; int nResponse1 =dlg.DoModal(); // 2番目のダイアログ CTest2Dlg dlg; m_pMainWnd = &dlg; int nResponse2 =dlg.DoModal(); // if (nResponse1 == IDOK) { :以下省略 これだけの情報でアドバイスができますでしょうか? すみません。よろしくお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
回答No.1
お礼
早速のアドバイスありがとうございます。 2番目のダイアログのdlgをdlgXと別の変数名に変更してもエラーになるようです。
補足
m_pMainWnd = &dlgがよくなかったみたいです。しらべてみたら、m_pMainWndはスレッドのメンバーで1番目のダイアログが消えるとメインスレッドが終了してしまうようです。そこで1番目のm_pMainWndを CWnd* m_pMainWndA = &dlg; とすることで解決しました。 大変失礼しました。