У меня есть приложение MFC MDI, которое я разработал в Visual Studio с интерфейсом с вкладками. Я хотел бы открыть представления в группе вкладок, которые не являются представлениями документов, т. Е. У них нет связанного документа, нет необходимости сохранять их и т. Д. Таким образом, они будут вести себя как немодальный диалог, но с вкладками. [Эти окна просто отображают информацию и принимают команды]
Внутренний механизм приложений MDI, похоже, очень ориентирован на работу с DocTemplate - Документ - Рамка - Просмотр структур объектов вместе со связанными с ними окнами.
В1) У кого-нибудь есть идеи, как создать такие окна и добавить их в уже созданную группу вкладок MDI? Я попытался создать окно RichEdit и добавил его:
// m_wndListingView will be a non-editable CRichEditCtrl
m_wndListingView->Create(WS_CHILD | WS_VISIBLE | ES_WANTRETURN | WS_VSCROLL |
WS_HSCROLL | ES_MULTILINE | ES_LEFT | ES_AUTOHSCROLL | ES_SAVESEL |ES_READONLY,
CRect(0, 0, 20, 20), pMainFrame, 1234);
// get Tab control and add a new tab
CMFCTabCtrl *mm_wndTabCtrl = &pMainFrame->GetMDITabs();
mm_wndTabCtrl->AddTab (m_wndListingView, _T("LISTING"));
Это создало и отобразило окно .. но оно не было добавлено в группу вкладок.
Q2) Если мне удалось правильно отобразить окно (возможно, оно должно быть рамочным окном) в группе вкладок, как мне сказать «системе», что когда пользователь закрывает его, я не хочу, чтобы приложение предложить пользователю сохранить документ? Возможно, я могу перегрузить метод OnClose ... но это не может быть document :: OnClose (), потому что нет документа.
Спасибо за любые идеи,
CAS