求大神见教呀 使用richededit控件 编的记事本程序 打开TXT文件 只显示了第一行

求大神指教呀 使用richededit控件 编的记事本程序 打开TXT文件 只显示了第一行
DWORD CALLBACK callback(DWORD dwCookie,LPBYTE pbBuff,LONG cb,LONG *pcb)  

FILE* ofile=(FILE*)dwCookie;         //文件指针  
char get;  
LONG i=0;  
while ((get=fgetc(ofile))!=EOF && (i++)<cb)
{  
*(pbBuff++)=get;                //数据写入pbBuff缓冲区。cb写入最大值  
}  
*pcb=i;
MessageBox(NULL,(const char *)pbBuff,TEXT(""),MB_OK);                            //实际写入大小  
return 0;  
}  


 case IDC_OPEN:
{OPENFILENAME ofn;
char szFile[MAX_PATH];
ZeroMemory(&ofn,sizeof(ofn));
ofn.lStructSize=sizeof(ofn);
ofn.lpstrFile=szFile;
ofn.lpstrFile[0]=TEXT('\0');
ofn.nMaxFile=sizeof(szFile);
ofn.lpstrFilter=TEXT("ALL\0*.*\0TEXT\0*.TXT\0");
ofn.nFilterIndex=2;
ofn.lpstrFileTitle=NULL;
ofn.nMaxFileTitle=0;
ofn.lpstrInitialDir=NULL;
ofn.hwndOwner=hwnd;
ofn.Flags=OFN_EXPLORER|OFN_PATHMUSTEXIST|OFN_FILEMUSTEXIST;
if(GetOpenFileName(&ofn))
{
         FILE *txtaddress=fopen(szFile,"r");
 
 EDITSTREAM stream;
 stream.dwCookie=(DWORD)txtaddress;
 stream.dwError=0;  
         stream.pfnCallback=callback;
 //SendDlgItemMessage(hwnd,IDC_RICHEDIT1,EM_STREAMIN,SF_TEXT,(LPARAM)&stream);
 
 HWND hand=GetDlgItem(hwnd,IDC_RICHEDIT1);
 //SendMessage(hand,EM_SETEVENTMASK,0,ENM_SELCHANGE|ENM_MOUSEEVENTS|ENM_CHANGE|ENM_KEYEVENTS|ENM_SCROLL|ENM_DROPFILES);  
         //SendMessage(hand,EM_EXLIMITTEXT,0,-1);
     SendMessage(hand,EM_STREAMIN,SF_TEXT,(LPARAM)&stream);
         //fclose(txtaddress); 
------解决思路----------------------
richededit控件的MultiLines属性设置为True?