Insertion d'un Chaine de caractére dans un richedit problème. [Résolu]

Messages postés
118
Date d'inscription
mercredi 24 décembre 2003
Statut
Membre
Dernière intervention
11 décembre 2011
- - Dernière réponse : 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.
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
118
Date d'inscription
mercredi 24 décembre 2003
Statut
Membre
Dernière intervention
11 décembre 2011
3
Merci
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.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 200 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_TeniX
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
16
0
Merci
ANSI ou UNICODE ???

ciao...
BruNews, MVP VC++
Commenter la réponse de BruNews
Messages postés
118
Date d'inscription
mercredi 24 décembre 2003
Statut
Membre
Dernière intervention
11 décembre 2011
0
Merci
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 ?
Commenter la réponse de cs_TeniX