我有一个 MDI 应用程序,其中有一些报告,报告以 MFC 打印体系结构提供的方式打印和打印预览。
但现在情况发生了变化,报告需要格式化为 HTML 文件,并且需要根据偏好以不同的视角显示。我选择了基于应用程序架构的解决方案,因为我的 CWinApp 中有许多文档/视图。在那里创建了所有文档/视图模板,一旦应用程序启动,将根据设置创建新的文档/视图。
class CMyWinApp: public CWinApp
{
public:
virtual BOOL InitInstance();
protected:
}
BOOL CMyWinApp::InitInstance()
{
// Lot of Code Here
CreateDocumentTemplates();
}
void CMyWinApp::CreateDocumentTemplates()
{
// Some Other Doc/Templates are here
if(m_bNewView) // Based on the Setting I am creating the new View and Old Doc
{
pDocTemplate = new CMultiDocTemplate(
IDR_REPORTS,
RUNTIME_CLASS(CMyDoc),
RUNTIME_CLASS(CMyFrame), // custom MDI child frame
RUNTIME_CLASS(CMyNewView));
pDocTemplate->SetContainerInfo(IDR_TYPE_CNTR_IP);
AddDocTemplate(pDocTemplate);
}
else // This is a Old View and Doc
{
pDocTemplate = new CMultiDocTemplate(
IDR_REPORTS,
RUNTIME_CLASS(CMyDoc),
RUNTIME_CLASS(CMyFrame), // custom MDI child frame
RUNTIME_CLASS(CMyView));
pDocTemplate->SetContainerInfo(IDR_TYPE_CNTR_IP);
AddDocTemplate(pDocTemplate);
}
}
现在的情况是,可以随时设置此首选项,并且需要在适当的上下文中显示进一步的报告。
如何在运行时实现这一点?请帮我 :(