我试着写一个多文档的记事本,遇到了一个问题。我在主程序的OnFileNew事件中添另了如下的代码:
if(m_pDocManager != NULL)
{
CWinApp::OnFileNew();
CChildFrame *mdiChild = (CChildFrame*)(((CMainFrame*)m_pMainWnd)->MDIGetActive());
int iIndex = ((CMainFrame*)m_pMainWnd)->m_wndFileBar.AddButton(mdiChild->GetActiveDocument()->GetTitle()); //设置文档名称Tab控件上的名字 mdiChild->m_iID = iIndex;
m_ptrChild.AddHead(mdiChild); //将这个子窗口添加到list中
}
其中中的m_wndFileBar是我自己写的一个控件,功能和TabCtrl一样,用于罗列打开的所有的文档,以便自由切换。mdiChild->m_iID 这个m_iID是这个子窗口的索引号。(必须)现在问题就出在这个m_iID的赋值上。会报告MFC AFX access vialotion错误。请教各位高手,如何解决这一问题。
if(m_pDocManager != NULL)
{
CWinApp::OnFileNew();
CChildFrame *mdiChild = (CChildFrame*)(((CMainFrame*)m_pMainWnd)->MDIGetActive());
int iIndex = ((CMainFrame*)m_pMainWnd)->m_wndFileBar.AddButton(mdiChild->GetActiveDocument()->GetTitle()); //设置文档名称Tab控件上的名字 mdiChild->m_iID = iIndex;
m_ptrChild.AddHead(mdiChild); //将这个子窗口添加到list中
}
其中中的m_wndFileBar是我自己写的一个控件,功能和TabCtrl一样,用于罗列打开的所有的文档,以便自由切换。mdiChild->m_iID 这个m_iID是这个子窗口的索引号。(必须)现在问题就出在这个m_iID的赋值上。会报告MFC AFX access vialotion错误。请教各位高手,如何解决这一问题。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货