CRichEditCtrl插入图片后,存储成RTF成功,但是无法读取
我在CRichEditCtrl插入图片后,用以下代码,调用OnWrite存入文件,再用Word打开myfile.rtf文件,发现图片确实存在。再用OnRead反读回控件,发现图片不会显示,请问这是怎么回事?
static DWORD CALLBACK MyStreamOutCallback(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb){ CFile* pFile = (CFile*) dwCookie; pFile->Write(pbBuff, cb); *pcb = cb; return 0;}static DWORD CALLBACK MyStreamInCallback(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb){ CFile* pFile = (CFile*) dwCookie; pFile->Read(pbBuff, cb); *pcb = cb; return 0;}void CTestRichEditDlg::OnWrite() { // TODO: Add your control notification handler code here CFile cFile(TEXT("myfile.rtf"), CFile::modeCreate|CFile::modeWrite); EDITSTREAM es; es.dwCookie = (DWORD) &cFile;//设置用例参数,以便回调函数调用 es.pfnCallback = MyStreamOutCallback; m_RichEdit.StreamOut(SF_RTF, es);}void CTestRichEditDlg::OnRead() { // TODO: Add your control notification handler code here CFile cFile(TEXT("myfile.rtf"), CFile::modeRead); EDITSTREAM es; es.dwCookie = (DWORD) &cFile;//设置用例参数,以便回调函数调用 es.pfnCallback = MyStreamInCallback; m_RichEdit.StreamIn(SF_RTF, es); }