MSDNより
CDialogから派生したモードレスダイアログ用のクラスを作成します。
OnCancelをオーバーライドし、DestroyWindowを呼び出すよう追加します。
void C***Dlg::OnCancel()
{
DestroyWindow();
//CDialog::OnCancel();
}
PostNcDestroyをオーバーライドし、delete thisを追加する。
void C***Dlg::PostNcDestroy()
{
delete this; //BBB追加 ダイアログの破棄
}
その他の方法
ダイアログクラスをメンバ変数として追加する。
C***Dlg m_dlg;
ダイアログボックスを構築、起動する。
m_dlg.Create(IDD_XXX, this);
ダイアログボックスを表示させる。
//必要に応じてダイアログデータの値を設定する処理
m_dlg.ShowWindow(SW_SHOW);
ダイアログボックスを非表示にする(必要なければ省略可)。
m_dlg.ShowWindow(SW_HIDE);
ダイアログボックスを破棄する。
m_dlg.DestroyWindow();
Copyright 1997-2008 BBB All rights reserved.