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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
hWndRTF =CreateWindowEx(WS_EX_STATICEDGE*0,"RichEdit20A", "", WS_CHILD|ES_MULTILINE,0,0,0,0,rtfwin.GetSafeHwnd(),(HMENU)IDS_RTF, hInst, NULL);
J'utilises pour récupérer le contenu les codes suivants :
Pour le premier :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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);
Pour le second :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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);
eStreamRTF et eStreamRTF2 sont deux EDITSTREAM,
et les LoadCallback et LoadCallback2 sont deux procédures comme suit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
}
J'aimerai fusionner le contenu de ces 2 hWndRTF et hWndRTF2 dans un
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.