如何在程序中获取文档的类名。我的意思是,我已经这样做了:
pDocTemplate = new CMultiDocTemplate(
IDR_FRAMETYPE,
RUNTIME_CLASS(CFrameDoc2D),
RUNTIME_CLASS(CEditorChildFrame),
RUNTIME_CLASS(CFrameView));
gl_pDocTemplateManager->AddTemplateInfo("CMyDoc", eStructure);
AddDocTemplate(pDocTemplate);
我想通过类在 MSVC 解决方案的另一个项目 (.dll) 中获取CMyDoc
字符串CDocument
。由于循环依赖关系,我无法强制转换为特定的文档类。
我不确定AddTemplateInfo()
做什么,它似乎不是标准的 MFC 函数。
要获取类的名称,可以使用如下内容:
CRuntimeClass *pClass = pDoc->GetRuntimeClass();
if (pClass != NULL)
TRACE(_T("Document class = %Sn"), pClass->m_lpszClassName);
注意:m_lpszClassName
是 ASCII (LPCSTR
),上面的代码假设您的项目基于 Unicode -- 否则,%S
更改为 %s
。