Couleur de texte avec un richedit

Signaler
Messages postés
415
Date d'inscription
samedi 4 janvier 2003
Statut
Membre
Dernière intervention
2 décembre 2005
-
Messages postés
415
Date d'inscription
samedi 4 janvier 2003
Statut
Membre
Dernière intervention
2 décembre 2005
-
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

Messages postés
1403
Date d'inscription
lundi 23 février 2004
Statut
Membre
Dernière intervention
11 janvier 2009
3
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
Messages postés
415
Date d'inscription
samedi 4 janvier 2003
Statut
Membre
Dernière intervention
2 décembre 2005
1
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
Messages postés
1403
Date d'inscription
lundi 23 février 2004
Statut
Membre
Dernière intervention
11 janvier 2009
3
Déjà c'est un Edit ou un RichEdit ?

YOYO, @+.
YOYO
Messages postés
415
Date d'inscription
samedi 4 janvier 2003
Statut
Membre
Dernière intervention
2 décembre 2005
1
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
Messages postés
1403
Date d'inscription
lundi 23 février 2004
Statut
Membre
Dernière intervention
11 janvier 2009
3
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
Messages postés
415
Date d'inscription
samedi 4 janvier 2003
Statut
Membre
Dernière intervention
2 décembre 2005
1
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
Messages postés
415
Date d'inscription
samedi 4 janvier 2003
Statut
Membre
Dernière intervention
2 décembre 2005
1
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
Messages postés
1403
Date d'inscription
lundi 23 février 2004
Statut
Membre
Dernière intervention
11 janvier 2009
3
Vraiment désolé mais je vois d'où ça peut venir, surtout que tu me dis que dans le WinMain ça fonctionne.

YOYO, @+.
YOYO
Messages postés
415
Date d'inscription
samedi 4 janvier 2003
Statut
Membre
Dernière intervention
2 décembre 2005
1
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