我用基类CFormView,功能区,标题栏等创建了MFC MDI项目。 在CMainFrame中,OnCreate()调用EnableMDITabbedGroups(),它会自动添加一个选项卡 并附加CMyProjectView视图。现在我想添加第二个选项卡并将第二个视图附加到该选项卡。我创建了新的对话框并添加了CFormView派生类。
以下是代码:
void CMainFrame::CreateViews()
{
const CObList &tabGroups = GetMDITabGroups();
CMFCTabCtrl *wndTab = (CMFCTabCtrl*)tabGroups.GetHead();
wndTab->m_bEnableWrapping = TRUE;
CRect dummyRect;
CNewFormView *pNewView = (CNewFormView*)RUNTIME_CLASS(CNewFormView)->CreateObject();
((CWnd*)pNewView)->Create(NULL, NULL, WS_CHILD, dummyRect, wndTab, IDD_NEWFORMVIEW);
wndTab->AddTab(pNewView, _T("NewTab"), -1, TRUE);
}
现在,我很确定我错过了一些微不足道的事情或一起走错了方向, 但我不能得到新的观点出现。另外,我无法在CMainFrame中捕获AFX_WM_CHANGE_ACTIVE_TAB或AFX_WM_CHANGING_ACTIVE_TAB。消息从CMFCBaseTabCtrl :: FireChangingActiveTab发送但没有任何反应。
答案 0 :(得分:0)
视图的样式中缺少WS_VISIBLE? 您可能还想为框架设置活动视图。