15,980
社区成员




CMultiDocTemplate* pNewDocTemplate = new CMultiDocTemplate(
IDR_TESTERFORM_TMPL,
RUNTIME_CLASS(CNTS700Doc), // document class
RUNTIME_CLASS(CChildFrame), // frame class
RUNTIME_CLASS(CTesterForm)); // view class
AddDocTemplate(pNewDocTemplate);
CMultiDocTemplate* pNewDocTemplate = new CMultiDocTemplate(
IDR_TESTERFORM_TMPL,
RUNTIME_CLASS(CNTS700Doc), // document class
RUNTIME_CLASS(CChildFrame), // frame class
RUNTIME_CLASS(CTesterForm));
CMultiDocTemplate::CMultiDocTemplate(UINT nIDResource, CRuntimeClass* pDocClass,
CRuntimeClass* pFrameClass, CRuntimeClass* pViewClass)
: CDocTemplate(nIDResource, pDocClass, pFrameClass, pViewClass)
{
ASSERT(m_docList.IsEmpty());
m_hMenuShared = NULL;
m_hAccelTable = NULL;
m_nUntitledCount = 0; // start at 1
// load resources in constructor if not statically allocated
if (!CDocManager::bStaticInit)
LoadTemplate();
}
void CMultiDocTemplate::LoadTemplate()
{
CDocTemplate::LoadTemplate();
。。。
。。。
}
void CDocTemplate::LoadTemplate()
{
if (m_strDocStrings.IsEmpty() && !m_strDocStrings.LoadString(m_nIDResource))
{
TRACE1("Warning: no document names in string for template #%d.\n",
m_nIDResource);
}
。。。。。。。。。
}
CString strTypeName;
CDocTemplate *pTemplate = NULL;
POSITION pos = m_pDocManager->GetFirstDocTemplatePosition();
while (NULL != pos)
{
pTemplate = m_pDocManager->GetNextDocTemplate(pos);
ASSERT(pTemplate != NULL);
ASSERT_KINDOF(CDocTemplate, pTemplate);
strTypeName.Empty();
pTemplate->GetDocString(strTypeName, CDocTemplate::fileNewName);
OutputDebugString(strTypeName);
}