Тема: Немодальный диалог

Здравствуйте!
Мне нужно вызвать в своей программе немодальный диалог, прочитал как это делается, скомпилил пример из документации - AcRxDynamicLoader failed to open :(
Ладно, делаю в своем диалоге

ON_MESSAGE(WM_ACAD_KEEPFOCUS, OnAcadKeepFocus)
LONG CTreeDialog::OnAcadKeepFocus( UINT, LONG ){return TRUE;}

Вызываю

CTreeDialog dlg( );
CAcModuleResourceOverride myResources;
dlg.Create( IDD_TREEDIALOG );
dlg.ShowWindow( SW_SHOWNORMAL );

Пропадает, как и было сказано... Но ведь я сделал обработку WM_ACAD_KEEPFOCUS! В чем же дело?
P.S. Наследовался и от CAcUiDialog и от CDialog, ставил в обработчик OnAcadKeepFocus breakpoint - не заходит. Передавал в create окно автокада вторым параметром.
Ничего не помагает...

Re: Немодальный диалог

> Kostt
Я что-то недопонял. Ты создаешь диалог в стеке? Так он же исчезнет сразу после завершения этой функции.
Нужно как-то так:

CTreeDialog *dlg;
void ShowMyDialog()
{
  CAcModuleResourceOverride myResources;
  if (!dlg) dlg = new CTreeDialog();
  if (dlg) {
    dlg->Create( IDD_TREEDIALOG );
    dlg->ShowWindow( SW_SHOWNORMAL );
  }
}

А вообще-то почему тебе не разобраться с samples\editor\mfcsamps\modeless ?