0

如何在我的程序中获取文档的类名。我的意思是,我已经这样做了:

pDocTemplate = new CMultiDocTemplate(
   IDR_FRAMETYPE,
   RUNTIME_CLASS(CFrameDoc2D),
   RUNTIME_CLASS(CEditorChildFrame),
   RUNTIME_CLASS(CFrameView));
gl_pDocTemplateManager->AddTemplateInfo("CMyDoc", eStructure);
AddDocTemplate(pDocTemplate);

我想通过类CMyDoc在我的 MSVC 解决方案的另一个项目(.dll)中获取字符串。CDocument由于循环依赖,我无法转换为特定的文档类。

4

1 回答 1

1

我不确定是什么AddTemplateInfo(),它似乎不是标准的 MFC 功能。

要获取类的名称,您可以使用以下内容:

CRuntimeClass *pClass = pDoc->GetRuntimeClass();
if (pClass != NULL)
    TRACE(_T("Document class = %S\n"), pClass->m_lpszClassName);

注意:m_lpszClassName是 ASCII ( LPCSTR) 并且上面的代码假定您的项目基于 Unicode - 否则,更改%S%s.

于 2013-10-17T08:08:37.130 回答