Insertion d'un Chaine de caractére dans un richedit problème.

Résolu
cs_TeniX Messages postés 118 Date d'inscription mercredi 24 décembre 2003 Statut Membre Dernière intervention 11 décembre 2011 - 11 nov. 2010 à 02:20
cs_TeniX Messages postés 118 Date d'inscription mercredi 24 décembre 2003 Statut Membre Dernière intervention 11 décembre 2011 - 11 nov. 2010 à 13:57
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.

3 réponses

cs_TeniX Messages postés 118 Date d'inscription mercredi 24 décembre 2003 Statut Membre Dernière intervention 11 décembre 2011 2
11 nov. 2010 à 13:57
Bon j'ai trouver enfaite , il faut sélectionner dans les propriété du projet (VS2010) :

Charactere Set : Use Multi-byte Charactere Set

Merci pour l'aiguillage BruNews.
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
11 nov. 2010 à 08:21
ANSI ou UNICODE ???

ciao...
BruNews, MVP VC++
0
cs_TeniX Messages postés 118 Date d'inscription mercredi 24 décembre 2003 Statut Membre Dernière intervention 11 décembre 2011 2
11 nov. 2010 à 13:31
Il semble que le contrôle est en UNICODE , si je fait :

IsWindowUnicode(hWndList)


Il me renvoi TRUE.

Dans ce cas , je doit convertir ma chaine en UNICODE avant de l'envoyer ?
0
Rejoignez-nous