Changement de couleur du texte uniquement pour rich edit??
youpiyoyo
Messages postés539Date d'inscriptionvendredi 6 juin 2003StatutMembreDernière intervention14 juillet 2010
-
4 mars 2007 à 11:56
youpiyoyo
Messages postés539Date d'inscriptionvendredi 6 juin 2003StatutMembreDernière intervention14 juillet 2010
-
4 mars 2007 à 14:41
j'ai réaliser un sous classement pour une edit control et WM_MOUSEMOVE egalement préparer pour celle-ci
j'essaye de changer la couleur du texte selectioner par mon traiement avec
CHARFORMAT2 Format;
Format.cbSize = sizeof(CHARFORMAT2);
Format.dwMask = CFM_COLOR;
Format.crTextColor = RGB(255,0,0);
SendMessage(hwnd, EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM) &Format);
mais il ne se passe rien mon sendmessage me renvoi toujours 0, qui indique que l'opération a échoué
une solution???
merci d'avance
youpi :)
A voir également:
Changement de couleur du texte uniquement pour rich edit??
//je selectionne "la zone de selection" et j y applique le changement
SendMessage(hwnd,EM_HIDESELECTION, 1, 0);
SendMessage(hwnd,EM_SETSEL, len, -1);
SendMessage(hwnd,EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM) &chrf);
SendMessage(hwnd,EM_SETSEL, -1, -1);
SendMessage(hwnd,EM_HIDESELECTION, 0, 0);
SnOOpss
Messages postés571Date d'inscriptionsamedi 3 avril 2004StatutMembreDernière intervention 5 décembre 2013 4 mars 2007 à 12:19
Dsl j'en ai oublié un bout
// recupere la taille totale
int len = GetWindowTextLength(hwnd);
// recupere les ligne
int line = Edit_LineIndex(hwnd, Edit_LineFromChar(hwnd, len-1));
// longueur de la ligne
int linelen = SendMessage(hwnd,EM_LINELENGTH, line, 0);
// total
len = line + linelen;
youpiyoyo
Messages postés539Date d'inscriptionvendredi 6 juin 2003StatutMembreDernière intervention14 juillet 2010 4 mars 2007 à 12:27
ok pour le len...
mais vu que ton Edit_LineFromChar et ton Edit_LineIndex doivent etre des fonctions customiser je les remplacerai bien par des
EM_EXLINEFROMCHAR et EM_LINEINDEX
voila je suis toujours entrain de tester
merci.... ca m'aide deja a avancer... sans resultat pour le moment
youpi :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
youpiyoyo
Messages postés539Date d'inscriptionvendredi 6 juin 2003StatutMembreDernière intervention14 juillet 2010 4 mars 2007 à 12:35
ecoute j'ai tester ca dans une rich edit ca marche:
CHARFORMAT2 chrf;
ZeroMemory(&chrf, sizeof(CHARFORMAT2));
chrf.cbSize = sizeof(CHARFORMAT2);
chrf.dwMask = CFM_COLOR;
chrf.crTextColor = couleur;
SendMessage(hwnd,EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM) &chrf);
la seule différence entre ce code et celui de départ c le ZeroMemory, je comprend pas encore très bien pourquoi mais ca fonctionne merci...
maitenant je vais tester dans uen edit control on va bien voir
SnOOpss
Messages postés571Date d'inscriptionsamedi 3 avril 2004StatutMembreDernière intervention 5 décembre 2013 4 mars 2007 à 14:39
Zeromemory() rempli la structure avec des zeros, c'est pour que je "rerempli" ma structure avec autant de données.
Mais tu bosses pas dans un rich edit ?
Toutes ces fonctions sont pour Richedit pas un edit c'est deux controles totalement differents.
youpiyoyo
Messages postés539Date d'inscriptionvendredi 6 juin 2003StatutMembreDernière intervention14 juillet 2010 4 mars 2007 à 14:41
je te remercie pour ta réponse...
en revanche non je travaillais sur un edit control, je suis entrain de modifier tout mon code pour le faire marcher dans un rich edit...