我在程序的多文档界面中用了一个树形控件,每当我单击树形的子节点时,跳出一个对话框,让用户输入一下参数,然后在根据这些参数在界面框架中创建一个子窗口。
我的对话框的按钮响应函数为:
void CSingleAtomDlg::OnOK()
{
CMainFrame *pAppFrame;
CSFispactVisualize2Doc *pActiveDocument; //获取程序界面框架
pAppFrame=(CMainFrame *)AfxGetApp()->m_pMainWnd;
ASSERT_KINDOF(CMainFrame,pAppFrame);
//获取程序框架中文档
pActiveDocument = (CSFispactVisualize2Doc *)pAppFrame->GetActiveDocument();
CMultiDocTemplate *pTemplate;
pTemplate = ((CSFispactVisualize2App* )AfxGetApp())->pDocTemplate;
ASSERT_VALID(pTemplate); //创建子窗口
pActiveDocument->child = (CChildFrame *)pTemplate->CreateNewFrame(pActiveDocument,NULL);
pTemplate->InitialUpdateFrame(pActiveDocument->child,pActiveDocument);
CDialog::OnOK();
}这些代码只是为了测试能够创建一个子窗口,程序编译没有错误,但是运行出错,调试的时候程序调试在:
pActiveDocument->child = (CChildFrame *)pTemplate->CreateNewFrame(pActiveDocument,NULL);
提示禁止访问错误。有高手碰到过这样的问题吗?在线等,拜谢了
我的对话框的按钮响应函数为:
void CSingleAtomDlg::OnOK()
{
CMainFrame *pAppFrame;
CSFispactVisualize2Doc *pActiveDocument; //获取程序界面框架
pAppFrame=(CMainFrame *)AfxGetApp()->m_pMainWnd;
ASSERT_KINDOF(CMainFrame,pAppFrame);
//获取程序框架中文档
pActiveDocument = (CSFispactVisualize2Doc *)pAppFrame->GetActiveDocument();
CMultiDocTemplate *pTemplate;
pTemplate = ((CSFispactVisualize2App* )AfxGetApp())->pDocTemplate;
ASSERT_VALID(pTemplate); //创建子窗口
pActiveDocument->child = (CChildFrame *)pTemplate->CreateNewFrame(pActiveDocument,NULL);
pTemplate->InitialUpdateFrame(pActiveDocument->child,pActiveDocument);
CDialog::OnOK();
}这些代码只是为了测试能够创建一个子窗口,程序编译没有错误,但是运行出错,调试的时候程序调试在:
pActiveDocument->child = (CChildFrame *)pTemplate->CreateNewFrame(pActiveDocument,NULL);
提示禁止访问错误。有高手碰到过这样的问题吗?在线等,拜谢了
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货