请问关于多文档程序退出的时候,窗口关闭顺序有关问题?
请教关于多文档程序退出的时候,窗口关闭顺序问题???
利用MFC向导生成了一个MDI程序,由于程序要求需要多种视图方式显示,需要关联不同菜单 (文档相同),就在C***App类中除了默认的文档模板外,又新添加了几个模板指针,然后在InitInitstance()函数中创建生成类的模板:如下:
声明:
CMultiDocTemplate* m_pTemplate1;
CMultiDocTemplate* m_pTemplate2;
CMultiDocTemplate* m_pTemplate3;
InitInstance()函数中.
m_pDocTemplate1 = new CMultiDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CTestDoc),
RUNTIME_CLASS(CChildFrame),
RUNTIME_CLASS(CView1));
//AddDocTemplate(m_pDocTemplate);//没有添加到模板列表中去.
m_pDocTemplate2 = new CMultiDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CTestDoc),
RUNTIME_CLASS(CChildFrame),
RUNTIME_CLASS(CView2));
//AddDocTemplate(m_pDocTemplate);
.....//以下相同.
调用的时候,通过调用模板类的成员函数OpenDocument(NULL)函数来创建子框架和对应视图.如:
pTemplate1-> OpenDocumentFile(NULL);
问题是:
(1)当点主窗口(CMainFrame类)关闭按钮时候,程序先关闭默认的视图指针.
其他窗口时候什么时间关闭(销毁??)
. (2)在ExitInstance()函数中需要写delete m_pTemplate1;删除模板指针吗?????
------解决方案--------------------
1、在关闭和损毁函数里设断点调试一下就知道了;
2、没有加到文档模板里,就得自己Delete了。
利用MFC向导生成了一个MDI程序,由于程序要求需要多种视图方式显示,需要关联不同菜单 (文档相同),就在C***App类中除了默认的文档模板外,又新添加了几个模板指针,然后在InitInitstance()函数中创建生成类的模板:如下:
声明:
CMultiDocTemplate* m_pTemplate1;
CMultiDocTemplate* m_pTemplate2;
CMultiDocTemplate* m_pTemplate3;
InitInstance()函数中.
m_pDocTemplate1 = new CMultiDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CTestDoc),
RUNTIME_CLASS(CChildFrame),
RUNTIME_CLASS(CView1));
//AddDocTemplate(m_pDocTemplate);//没有添加到模板列表中去.
m_pDocTemplate2 = new CMultiDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CTestDoc),
RUNTIME_CLASS(CChildFrame),
RUNTIME_CLASS(CView2));
//AddDocTemplate(m_pDocTemplate);
.....//以下相同.
调用的时候,通过调用模板类的成员函数OpenDocument(NULL)函数来创建子框架和对应视图.如:
pTemplate1-> OpenDocumentFile(NULL);
问题是:
(1)当点主窗口(CMainFrame类)关闭按钮时候,程序先关闭默认的视图指针.
其他窗口时候什么时间关闭(销毁??)
. (2)在ExitInstance()函数中需要写delete m_pTemplate1;删除模板指针吗?????
------解决方案--------------------
1、在关闭和损毁函数里设断点调试一下就知道了;
2、没有加到文档模板里,就得自己Delete了。