Bonjour,
Je gères une application qui récupères dans 2 hWnd, le contenu de 2 textes provenant de fichier RTF.
Le premier s'appelle hWndRTF et le second hWndRTF2, tous les deux sont crées comme suit :
J'utilises pour récupérer le contenu les codes suivants :Code:hWndRTF =CreateWindowEx(WS_EX_STATICEDGE*0,"RichEdit20A", "", WS_CHILD|ES_MULTILINE,0,0,0,0,rtfwin.GetSafeHwnd(),(HMENU)IDS_RTF, hInst, NULL);
Pour le premier :
Pour le second :Code:
1
2
3
4
5
6
7 HFILE hFileRTF = OpenFile(name, &ofRTF, OF_READ); if (hFileRTF==HFILE_ERROR) return false; eStreamRTF.dwCookie = hFileRTF; eStreamRTF.dwError = 0; eStreamRTF.pfnCallback = LoadCallback; SendMessage(hWndRTF, EM_STREAMIN, SF_RTF, (LPARAM)&eStreamRTF); CloseHandle((void*)hFileRTF);
eStreamRTF et eStreamRTF2 sont deux EDITSTREAM,Code:
1
2
3
4
5
6
7 HFILE hFileRTF2 = OpenFile(name2, &ofRTF, OF_READ); if (hFileRTF2==HFILE_ERROR) return false; eStreamRTF2.dwCookie = hFileRTF2; eStreamRTF2.dwError = 0; eStreamRTF2.pfnCallback = LoadCallback2; SendMessage(hWndRTF2, EM_STREAMIN, SF_RTF, (LPARAM)&eStreamRTF2); CloseHandle((void*)hFileRTF2);
et les LoadCallback et LoadCallback2 sont deux procédures comme suit :
J'aimerai fusionner le contenu de ces 2 hWndRTF et hWndRTF2 dans unCode:
1
2
3
4
5 DWORD CALLBACK LoadCallback(DWORD dwCookie,LPBYTE pbBuff, LONG cb, LONG* pcb) { ReadFile((void*)dwCookie, pbBuff, cb, (LPDWORD)pcb, NULL); return 0; }
fichier en conservant le format de chaque texte, donc j'utilise
EM_STREAMOUT, mais je n'arrives pas à les ajouter.
Pour information, j'ai trouvé une solution, mais je perds le format de l'un de ces deux RichedEditText. Quelqu'un aurait-il une piste.
Merci d'avance.