问题是这么发生的。
我有一个客户端的程序。
在XP下面运行,很正常。
其中View为CRichEditView.
当接收到消息后利用
CRichEditCtrl& pCtrl=GetRichEditCtrl();
EDITSTREAM es;
es.pfnCallback=StreamInCallBack;
pCtrl.StreamIn(SF_TEXT|SF_RTF,es);
显示消息
DWORD CALLBACK StreamInCallBack(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb)
{ *pcb=cb;
if(cb>gPostContent.GetLength())
{
memcpy(pbBuff,gPostContent.GetBuffer(gPostContent.GetLength()),gPostContent.GetLength());
*pcb=gPostContent.GetLength();
return 0;
}
else
{
memcpy(pbBuff,gPostContent.GetBuffer(cb),cb);
*pcb=cb;
gPostContent=gPostContent.Right(gPostContent.GetLength()-cb);
return 0;
}
return 0;
上面的是回调函数。
这些代码在XP下面工作的很好。
但是在98下面调试发现,该回调函数根本不被调用,请问这是怎么回事?
谢谢!

解决方案 »

  1.   

    The CRichEditCtrl class provides the functionality of the rich edit control. This Windows Common control (and therefore the CRichEditCtrl class) is available only to programs running under Windows 95/98 and Windows NT versions 3.51 and later. The CRichEditCtrl class supports versions 2.0 and 3.0 of the Platform SDK rich edit control
    I find these on MSDN
    So I think Win9X do support it,isn't it?
      

  2.   

    根据文档SF_TEXT 和 SF_RTF 两者只能取一个你把它或起来可能有问题