У меня есть приложение MFC, которое является реализацией Doc / View / Frame. Один диалог работает как немодальный диалог, который появляется по требованию (из пункта меню). Я ищу, чтобы добавить немодальное диалоговое окно для дочернего представления MDI. В основном я хочу загрузить шаблон из файла ресурсов и создать его как дочерний элемент CView в моем новом трио (doc / view / frame), которое я добавляю в списки шаблонов для MDI.
Я пробовал несколько вещей в своем производном классе CMyView:
void CMyView::OnInitialUpdate()
{
m_ListDialog = new Dialogs::CListDialog( m_config, this );
m_ListDialog->Create( Dialogs::CListDialog::IDD, this );
m_ListDialog->ShowWindow( SW_SHOW );
}
Я пытался вызвать SetWindowPos, ModifyStyle (WS_CHILD, WS_VISIBLE, DS_CONTROL). Я попытался изменить файл ресурсов, чтобы установить дочерний элемент и элемент управления вручную.
Каждый раз, когда он вызывает Create, m_hWnd ListDialog остается равным 0. Это говорит мне, что он не создается должным образом. Любой вызов SetWindowPos () или ShowWindow () завершается ошибкой, поскольку m_hWnd равен 0 (сбой отладочного утверждения).
Что мне нужно сделать, чтобы получить немодальное диалоговое окно для создания, создания и отображения в качестве дочернего для CMyView в моем приложении MDI?