OS:WindowsXP Pro SP2
VS.NET2003
CxxxDlgクラスのボタンクリックイベントで以下の処理(単にDialogを開く)
を行っています。
CyyyDlg m_yyy;
m_yyy.DoModal();
CyyyDlgのOnInitDialogで
CDialog::OnInitDialog();
AfxMessageBox("123");
とすると、CyyyDlgが開いている状態でCxxxDlgが操作できてしまいます。
ボタンを押したり、閉じたり...
何故そうなるのか理由を教えて頂けないでしょうか。
よろしくお願いします。
CWinApp::DoMessageBox()内で、一番手前のウィンドウをEnableにしているからだと思います。
回避するためには、AfxMessageBox()後に、CxxxDlgをDisableにしてあげれば良いです。(CWnd::EnableWindow(FALSE)を呼び出す)
スナナさん、ありがとうございます。
モヤモヤが解決できました。
ツイート | ![]() |