我的代码如下:
        void ChatDlg::setTxtOutput(CString text)
{
        text.Replace(ENTER_SIGN,"\r"); RichOutput.SetRTF(text);
}ExRichEditCtrl是扩展了RichEditCtrl,主要代码如下:        void ExRichEditCtrl::SetRTF(CString strRTF)
{
EDITSTREAM es;
es.dwError = 0;
es.pfnCallback = CStringFormatToRTF;
es.dwCookie = (DWORD) &strRTF;
StreamIn(SF_RTF, es); // Do it. }        //StreamIn的回调函数 *pcb是实际输入的字节数,cb是一次输入的最大字节数
DWORD CALLBACK ExRichEditCtrl::CStringFormatToRTF(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb)
{
CString *pstr = (CString *) dwCookie; ////若要存放到RichEdit的数据长度小于一次能存放的最大长度,则
////一次性输入到RichEdit中
if (pstr->GetLength() < cb)
{
*pcb = pstr->GetLength();
memcpy(pbBuff, (LPCSTR) *pstr, *pcb);
pstr->Empty();
} ////若输入的数据太多,则一次输入cb字节到RichEdit中
///StreamIn回递归调用这个函数
else
{
*pcb = cb;
memcpy(pbBuff, (LPCSTR) *pstr, *pcb);
*pstr = pstr->Right(pstr->GetLength() - cb);
}
return 0;
}执行后,发现RichEditCtrl中什么都没有显示,跟踪时text中是有rtf的内容的这个是为什么呢》?