子ダイアログの表示について


ken  2013-05-31 23:33:33  No: 73696

現在visual studio 2008を使用しMFCでダイアログベースのアプリを開発しています。
そこでダイアログにメニューを作成し、メニューの項目をクリックしたら
モーレスダイアログで子ダイアログを作成し表示しています。
このメニュー項目をクリックしたときに以下の処理を行っています。

{
     if (m_bDlgCreateFlag == FALSE) //最初だけ作る
     {
         m_pDlg = new CDialogEX(this);
         m_pDlg->Create(IDD_DIALOG_EX, GetDesktopWindow()); ①
         m_bDlgCreateFlag = TRUE;
     }
     m_pDlg->ShowWindow(SW_SHOW);  ②
     m_pDlg->SetActiveWindow();
}

このメニュー項目をクリックする時に親ダイアログにある
エディットボックスやコンボボックス、ボタンなどにフォーカスがあると
①、②でフリーズしてしまいます。

フォーカスをどこにも入れてない場合は普通に表示できます。

何が原因なのでしょうか?

ちなみに子ダイアログは内部では特に処理はやっていません、新規作成したまんまの状態です。

以上、お願い致します。


ken  2013-05-31 23:36:46  No: 73697

すみません誤記があったので訂正いたします。
モーレスダイアログ  →  モードレスダイアログ


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加