一个奇怪的问题请教各位高手。
一个奇怪的问题请教各位高手。
以下程序段将一RTF文件置入CRichEditCtrl控件,但是只能显示第一行。为什么?
HANDLE hfile;
hfile=CreateFile(strfilename, GENERIC_READ,0,0,OPEN_EXISTING,0,0);
EDITSTREAM stream={(DWORD)hfile, 0, (EDITSTREAMCALLBACK)EditStreamCallBack};
m_RichEditCtrl.StreamIn(SF_RTF,stream);
CloseHandle(hfile);
DWORD CALLBACK EditStreamCallBack(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb)
{
HANDLE handle=(HANDLE)dwCookie;
ULONG cb1;
ReadFile(handle,pbBuff,cb,&cb1,0);
*pcb=cb1;
return 0;
}
问题点数:20、回复次数:1Top
1 楼zhq2000(方舟)回复于 2001-02-02 23:13:00 得分 20
改为:
DWORD CALLBACK EditStreamCallBack(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb)
{
HANDLE handle=(HANDLE)dwCookie;
ULONG cb1;
ReadFile(handle,pbBuff,cb,&cb1,0);
*pcb = cb1;
if (*pcb < cb)
return 0; // file has been fully read in
else
return (DWORD) *pcb; // more to read
}
Top




