求助CRichEditCtrl的问题

eddy_yang 2006-02-28 10:18:53
我想在里面输出大量的不同颜色的文本,目前是这么实现的:
void CRichEditCtrlEx::SetRTF(CString sRTF) //sRTF是带颜色信息的文本
{
EDITSTREAM es;
es.dwError = 0;
es.pfnCallback = CBStreamIn;
es.dwCookie = (DWORD) &sRTF;
StreamIn(SF_RTF, es);
}

DWORD CALLBACK CRichEditCtrlEx::CBStreamIn(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb)
{
CString *pstr = (CString *) dwCookie;

if (pstr->GetLength() < cb) {
*pcb = pstr->GetLength();
memcpy(pbBuff, (LPCSTR) *pstr, *pcb);
pstr->Empty();
} else {
*pcb = cb;
memcpy(pbBuff, (LPCSTR) *pstr, *pcb);
*pstr = pstr->Right(pstr->GetLength() - cb);
}

return 0;
}

可是每当我输出了几万字符后,就再也无法输出了。
似乎是CRichEditCtrl只能容纳这么多字符?还是有其他的原因,怎么解决呢?
或者有没有其他办法实现输出大量的带颜色的文本?
...全文
92 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
eddy_yang 2006-02-28
  • 打赏
  • 举报
回复
那么请问如何突破这种限制呢?的确需要显示大量的文本信息。
ExitWindows 2006-02-28
  • 打赏
  • 举报
回复
控件的自带的数据缓冲区64K字节,最多3万多点汉字。

15,976

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧