问题是这么发生的。
我有一个客户端的程序。
在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下面调试发现,该回调函数根本不被调用,请问这是怎么回事?
谢谢!
我有一个客户端的程序。
在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下面调试发现,该回调函数根本不被调用,请问这是怎么回事?
谢谢!
I find these on MSDN
So I think Win9X do support it,isn't it?