將工具從VC++ 6.0轉換爲VS2013時發現問題。該錯誤不是代碼中的實際錯誤,因爲代碼編譯時沒有「錯誤」,並且工作得很好。該程序已被調整到最低限度,幾乎沒有真正改變代碼,允許程序在VS2013中正常運行和運行,或者我想。當我們測試代碼以從外部存儲設備讀取代碼時,它在應用程序的左窗格中顯示了RichText樹,該樹似乎可以工作或與似乎是所有數據一起工作,但我們習慣使用Rich Text視覺上看不到主應用程序的右窗格中。我最感興趣的是在原始程序中無法編輯文本,但在我們最新的編譯程序中,您可以看到該區域並未從原始狀態改變。幾乎就像數據傳到應用程序一樣,但出於某種奇怪的原因,在顯示到窗格之前被忽略或刪除。C++ MFC VC 6.0到VS2013 lStreamReturn = GetRichEditCtrl()。StreamIn(SF_RTF,es);
所以這裏的問題,當WCARichEdit.cpp做到這一點 「
EDITSTREAM es;
es.dwError=0;
es.dwCookie = (DWORD) &Report;
es.pfnCallback = CBStreamIn;
lStreamReturn = GetRichEditCtrl().StreamIn(SF_RTF, es);
GetRichEditCtrl().SetReadOnly(TRUE);
」
它打破或引發錯誤0,除非SF_RTF改爲SF_TEXT。代碼然後生成所有數據,但格式化被讀入文本流。一個巨大的流是。我們有一些假設認爲,這段代碼中的格式是我們編譯代碼時爲什麼沒有顯示文本的罪魁禍首。所以當SplitterFrame.CPP做到這一點
「
Void CSplitterFrame::DisplayReport(CString Report)
{
CWcaRichEdit*RichEditView = (CWcaRichEdit*) m_wndSplitter.GetPane(0,1);
CH1_MainteanceToolDoc*pDoc = (CH1_MainteanceToolDoc*)
((CMainFrame *)AfxGetMainWnd())->GetActiveDocument();
RichEditView->DisplayReport(pDoc, Report);
}
」 的RichEditView-> DisplayReport(PDOC,報告)似乎並沒有得到任何代碼,它只是被零。當SF_RTF保持不變時,由dwError = 0顯示沒有變化。
任何關於如何讓這個富文本顯示的想法?
我只是張貼這一點,因爲我還沒有解決這個問題之一。 –