我有一個MDI應用程序,其中有一些報告和報告打印和打印預覽的方式,由MFC打印體系結構。在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);
}
}
現在的情況是,這種偏好可以隨時設置和進一步的報告需要在適當的上下文中顯示。
在運行時如何實現這一點?請幫我:(
您應該按照imbtfab的答案。另一種方法是進行視圖的位置切換,這並不是那麼簡單。 – zar