Bonjour,
Je rencontre un problème pour insérer une chaine de caractères dans un contrôle richedit.
En faite le texte est ajouté , mais il n'est pas correctement affiché.
J'obtiens des caractères type chinois ou autre à la place.
Code:
LoadLibrary(TEXT("Msftedit.dll"));
InitCommonControls();
//CREATION DU RICHEDIT
hWndList= CreateWindowEx(0, MSFTEDIT_CLASS, TEXT(""),
ES_MULTILINE | WS_VISIBLE | WS_CHILD | WS_BORDER | WS_TABSTOP,
0, 0, GetWindowSizeX(hWnd), GetWindowSizeY(hWnd),
hWnd, NULL, hInst, NULL);
// AJOUT DU TEXTE
CHARRANGE cr;
cr.cpMin = -1;
cr.cpMax = -1;
SendMessage(hWndList, EM_EXSETSEL,0,(LPARAM)&cr);
SendMessage(hWndList, EM_REPLACESEL,0,(LPARAM)"chaine de test\n");
Note si j'ajoute caractère par caractère cela marche :
SendMessage(hWndList, EM_REPLACESEL,0,(LPARAM)"A"); // ETC
Je suis sous Win7 et VS2010.
Si vous avez des idées.
Merci d'avance.