[MFC] диалог в CFormView

lurgi48

Никак не могу разобраться как правильно засунуть ресурс - диалог в CFormView (точнее как отобразить его в другом окне)
Т.е. я выполняю все требования по стилям ресурса (там потомок, без границ итп)
создаю объект CFormView, в конструкторе указываю ID.
Проблема в том, что я создаю некое СFrameWnd и хочу в нем создать CFormView.
Так вот, как я понимаю мне нужно неким образом вызвать функцию Create, чтобы диалог отобразился в моем CFrameWnd.
Подскажите, как это сделать..

vladan67

а зачем doc/view? делай просто диалог..
DoModal
для модальных
ShowDialog (hz)
для твоего случая...
а обработку сообщеий на mfc можно сделать(хотя я предпочитаю api)

klyv

А разве так не заработает?

CFormView *pview=new CFormView(IDD_MY_DIALOG);
CRect r;
GetClientRect(&r);
pview->Create(NULL,NULL,WS_VISIBLE,&r,this,0);

lurgi48

как конструктор, так и функция CreateEx закрытые члены класса CFormView

lurgi48

Вот в том-то и фишка, что ничего такого я не нахожу в MFC
ShowDialog - это штука из .NET

kokoc88

Добавляешь ресурс типа form view, затем класс визардом делаешь для него CFormView обёртку. Создаёшь класс примерно так:
	CRuntimeClass* pRuntimeClass = RUNTIME_CLASS(CTestView);
m_pView = (CTestView*) pRuntimeClass->CreateObject;
ASSERT(m_pView->IsKindOf(RUNTIME_CLASS(CTestView;

Для создания окна перегрузи Create с public доступом, оттуда вызывай базовый. Да, не надо вызывать delete, он вызовется при post nc destroy у окна.
Нужно иногда читать документацию.
Оставить комментарий
Имя или ник:
Комментарий: