Couleur de texte avec un richedit

minet03 Messages postés 415 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 2 décembre 2005 - 6 juil. 2005 à 12:07
minet03 Messages postés 415 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 2 décembre 2005 - 9 juil. 2005 à 13:38
coucou, voilà j'ai un edit et je voudrais changer la
couleur du texte, seulement ma fonction n'a pas l'air de marché, et
j'ai pourtant fait tout ce que j'ai pu pour savoir d'ou venai le
prob... mais sans succès. Voici ma fonction :



void SetColorEdit(COLORREF Couleur)
{
COLORREF Color = Couleur;
GETTEXTLENGTHEX emTextLength;
CHARFORMAT2 Format;
CHARRANGE Selection;
emTextLength.flags = GTL_DEFAULT;
emTextLength.codepage = CP_ACP;
ZeroMemory(&Format, sizeof(CHARFORMAT2));
Format.cbSize = sizeof(CHARFORMAT2);
SendMessage(hEdit,EM_GETCHARFORMAT,0,(WPARAM)&Format);
Format.dwMask = CFM_BOLD | CFM_COLOR | CFM_FACE | CFM_ITALIC | CFM_SIZE | CFM_UNDERLINE;
Format.crTextColor = RGB(255,0,0);
Selection.cpMin = 0;
Selection.cpMax = SendMessage(hEdit,EM_GETTEXTLENGTHEX,(WPARAM)&emTextLength,0);
SendMessage(hEdit, EM_EXSETSEL, 0, (LPARAM) &Selection);
SendMessage(hEdit, EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM) &Format);
Selection.cpMin = SendMessage(hEdit,EM_GETTEXTLENGTHEX,(WPARAM)&emTextLength,0);
SendMessage(hEdit, EM_EXSETSEL, 0, (LPARAM) &Selection);
}







Le CyberMonde nous offre une meilleur qualité de vie
CyberMan.inc The WebSite

9 réponses

yoyo269 Messages postés 1403 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 janvier 2009 3
8 juil. 2005 à 08:57
Salut minet03,

est-ce que tu es allé voir à ce post :

http://www.cppfrance.com/forum.v2.aspx?ID=485801

parce que j'y ai déjà donné la réponse.

YOYO, @+.
YOYO
0
minet03 Messages postés 415 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 2 décembre 2005 3
8 juil. 2005 à 12:09
oui, justement, j'ai copier/coller le code (trop long à écrire) mais
j'ai fait des recherche sur les fonctions et tout le tointoin.
Seulement je n'arrive pas à voir où est l'erreur. Si tu pouvais m'aider.

Le CyberMonde nous offre une meilleur qualité de vie
CyberMan.inc The WebSite
0
yoyo269 Messages postés 1403 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 janvier 2009 3
8 juil. 2005 à 13:01
Déjà c'est un Edit ou un RichEdit ?

YOYO, @+.
YOYO
0
minet03 Messages postés 415 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 2 décembre 2005 3
9 juil. 2005 à 12:01
C'est un RichEdit. Le code de la fonction a été mis dans WinMain() et
ça à marché, puis je l'ai mis dans une fonction que j'appel dans
EditProc(), et là ça ne marche pas.

Le CyberMonde nous offre une meilleur qualité de vie
CyberMan.inc The WebSite
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yoyo269 Messages postés 1403 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 janvier 2009 3
9 juil. 2005 à 13:01
Alors là je vois pas.
Mais à quoi sert le Color que tu déclares ?
Parce que je vois pas l'utilité de mettre un COLORREF dans un COLORREF.

YOYO, @+.
YOYO
0
minet03 Messages postés 415 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 2 décembre 2005 3
9 juil. 2005 à 13:12
C'est une fonction qui est appelé pour changer la couleur du texte. Je
passe donc la nouvelle couleur en paramètre. Mais là n'est pas la
question puisque je ne l'utilise pas (pour voir où est l'erreur).

Le CyberMonde nous offre une meilleur qualité de vie
CyberMan.inc The WebSite
0
minet03 Messages postés 415 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 2 décembre 2005 3
9 juil. 2005 à 13:33
je viens de faire un GetLastError() à la fin de la fonction... 5 : Access is denied.

Donc là si tu as une idée !

Le CyberMonde nous offre une meilleur qualité de vie
CyberMan.inc The WebSite
0
yoyo269 Messages postés 1403 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 janvier 2009 3
9 juil. 2005 à 13:34
Vraiment désolé mais je vois d'où ça peut venir, surtout que tu me dis que dans le WinMain ça fonctionne.

YOYO, @+.
YOYO
0
minet03 Messages postés 415 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 2 décembre 2005 3
9 juil. 2005 à 13:38
et juste avant le GetLastError() (avant la dernière fonction), j'ai mis
SetLastError(), le dernier message, getlasterror() et je tombe sur 6 :
the handle is invalid, pourtant il est correct

Le CyberMonde nous offre une meilleur qualité de vie
CyberMan.inc The WebSite
0