1、开始运行时的选择窗体中有四个选项,可在程序中没有显示的绘制程序?
DDX_Text(pDX, IDC_EDIT1, m_strInput);2、类ColorView和TextView都放在Simpvw.cpp中,怎么能这样定义?为什么要这样做?
我想这应该只是为了便于管理?!!3、CMultiDocTemplate的几个参数的含义。我的理解如下:
CMultiDocTemplate(IDR_SPLIT2TYPE, //指定文档资源的类型
RUNTIME_CLASS(CMainDoc), //指定文档类对象
RUNTIME_CLASS(CSplitterFrame),//指定框架类对象
RUNTIME_CLASS(CTextView)) //指定视图类对象多谢!!
DDX_Text(pDX, IDC_EDIT1, m_strInput);2、类ColorView和TextView都放在Simpvw.cpp中,怎么能这样定义?为什么要这样做?
我想这应该只是为了便于管理?!!3、CMultiDocTemplate的几个参数的含义。我的理解如下:
CMultiDocTemplate(IDR_SPLIT2TYPE, //指定文档资源的类型
RUNTIME_CLASS(CMainDoc), //指定文档类对象
RUNTIME_CLASS(CSplitterFrame),//指定框架类对象
RUNTIME_CLASS(CTextView)) //指定视图类对象多谢!!
void CDocManager::OnFileNew()
{
if (m_templateList.IsEmpty())
{
TRACE0("Error: no document templates registered with CWinApp.\n");
AfxMessageBox(AFX_IDP_FAILED_TO_CREATE_DOC);
return;
} CDocTemplate* pTemplate = (CDocTemplate*)m_templateList.GetHead();
if (m_templateList.GetCount() > 1)//模板数量大于1的时候出现提示对话框
{
// more than one document template to choose from
// bring up dialog prompting user
CNewTypeDlg dlg(&m_templateList);
int nID = dlg.DoModal();
if (nID == IDOK)
pTemplate = dlg.m_pSelectedTemplate;
else
return; // none - cancel operation
} ASSERT(pTemplate != NULL);
ASSERT_KINDOF(CDocTemplate, pTemplate); pTemplate->OpenDocumentFile(NULL);
// if returns NULL, the user has already been alerted
}
是否对话框中的“类型”就是所有CMultiDocTemplate的第一个参数的集合呢?
还有什么不清楚,可以在设断电,F11跟踪当mircosoft vc的代码中
就清楚了。
1)、那么对话框中的那些类型选项是由谁添加?在哪里实现的?
2)、是否对话框中的“类型”就是所有CMultiDocTemplate的第一个参数的集合呢?
2)、是否对话框中的“类型”就是所有CMultiDocTemplate的第一个参数的集合呢?
=====================================
当然是:
CMultiDocTemplate* pDocTemplate;
pDocTemplate = new CMultiDocTemplate(
IDR_MDITESTYPE,
RUNTIME_CLASS(CMDITestDoc),
RUNTIME_CLASS(CChildFrame), // custom MDI child frame
RUNTIME_CLASS(CMDITestView));
AddDocTemplate(pDocTemplate);//添加到文档模板链表中