Тема: Закрытие диалога (DestroyWindow())

Вопрос скорее по MFC, чем по ARX'у.
Есть диалог открытый следующим образом:

CCreateDlg dlg;
dlg.DoModal();

В нем определено нажатие кнопки через мессадж мэп:

....ON_BN_CLICKED(IDOK, OnBnClickedOk)
........
void CCreateDlg::OnBnClickedOk()
{
  //Do something
  // Все сделали, надо закрывать диалог
  // если вызвать DestroyWindow(); - автокад умрет
  // если this->CloseWindow(); - окно сворачивается, но не закрывается
}

Как закрыть окно ?

Re: Закрытие диалога (DestroyWindow())

> supremum
Так у тебя диалог модальный!!!

void CCreateDlg::OnBnClickedOk()
{
  //Do something
  EndDialog(IDOK);
}

Re: Закрытие диалога (DestroyWindow())

Можно и так:
CDialog::OnOK();

Re: Закрытие диалога (DestroyWindow())

> Shedever
Можно, но EndDialog() пожалуй предпочтительней, так как можно вернуть код возврата, соответствующий нажатой кнопке и в программе вызвавшей диалог этот код возврата анализировать.

Re: Закрытие диалога (DestroyWindow())

тут уже дело "религии", OnOk вызывает EndDialog, как OnCancel с соответствующими параметрами.. просто имена этих методов уже в себе хранят коды, возврата...

Re: Закрытие диалога (DestroyWindow())

но мощнее конечно EndDialog