1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
BOOL LoadRTFFile(HWND hEdit, char * pFileName)
{
if(!pFileName)
return FALSE;
HANDLE hFile;
EDITSTREAM es;
// ouvrir un fichier prêt pour la lecture
hFile = CreateFile(pFileName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, 0);
if(hFile==INVALID_HANDLE_VALUE)
return FALSE;
es.dwCookie = (DWORD)hFile;
es.pfnCallback = StreamInCallback;
es.dwError = 0;
SendMessage(hEdit, EM_STREAMIN, SF_RTF, (LPARAM)&es);
SendMessage(hEdit, EM_SETMODIFY, 1, 0);
// ferme le fichier
CloseHandle(hFile);
return TRUE;
}
DWORD CALLBACK StreamInCallback(DWORD dwCookie, LPBYTE lpBuf, LONG cb, LONG * pcb)
{
ReadFile((HANDLE)dwCookie, lpBuf, cb, (DWORD*)pcb, NULL);
return 0;
} |
Partager