掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ダイアログのクリック情報を無効にするには? (ID:66603)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
いつもお世話になります。 わからないことがでてきたので質問させてください。 開発環境↓ Windows XP Professional Version 2002 Service Pack2 Microsoft Visual Studio .NET 2003 MFC Application やりたいこととしては、Buttonを押下すると一定時間(次の例でいうと、sleep(3000)で3秒間)ダイアログを出力させ、 その時間はメインダイアログのボタンクリックを受け付けない。一定時間経過すればクリックを受け付ける。 という構成を考えています。 そこで、次のようなプログラムを組んでみて、完成だと思ったのですが、おかしな動きをすることに気づきました。 ダイアログが出力されている間にクリックは受け付けないのですが、そのクリック情報が残っているようで、 ダイアログが消滅したあと、そのクリックの動作をしてしまいます。 何かわかる方いらっしゃいましたら、ご指導のほど宜しくお願いします。 ---TestView.cpp--- void CTestView::OnBnClickedButton() { CWnd* pWndParent = GetParent(); pWndParent ->EnableWindow(FALSE); CExclusionDlg::getInstance()->dispDialog(); Sleep(3000); CExclusionDlg::getInstance()->destroyDialog(); pWndParent ->EnableWindow(TRUE); pWndParent ->ActivateTopParent(); } ---ExclusionDlg.cpp--- void CExclusionDlg::dispDialog(){ instance->Create( IDD_EXCLUSION ); instance->EnableWindow( FALSE ); } void CExclusionDlg::destroyDialog(){ instance->DestroyWindow(); } CExclusionDlg* CExclusionDlg::getInstance(){ if(instance == NULL){ instance = new CExclusionDlg(); } return instance; }
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.