掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DoModalで呼んだダイアログを消すには? (ID:61997)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ダイアログAのメンバ変数としてダイアログBをポインタとして持つとか。 例) ダイアログA.h class ダイアログA : public CDialog{ // 省略 private: ダイアログB* m_pBDlg; // 追加 }; ダイアログA.cpp ダイアログA::ダイアログA(CWnd* pParent /*=NULL*/) : CDialog(CDirDlgDlg::IDD, pParent), m_pBDlg( NULL ) // 追加 { // 省略 void ダイアログA::ダイアログB表示() { if ( m_pBDlg != NULL ) { AfxMessageBox( _T( "既にBは表示してあります。" ) ); return; } m_pBDlg = new ダイアログB( this ); m_pBDlg->Create(); } void ダイアログA::ダイアログB閉じる() { if ( m_pBDlg == NULL ) { AfxMessageBox( _T( "Bは表示してません。" ) ); return; } m_pBDlg->DestoryWindow(); delete m_pBDlg; m_pBDlg = NULL; } 他にも、ボタンを押したら、Enableにするとか方法はあります。 ダイアログB表示で複数表示したい場合は、工夫が必要です。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.