Accueil > Forum > > > > changer couleur texte
changer couleur texte
mercredi 5 décembre 2007 à 16:30:11 |
changer couleur texte

kam42
|
salut à tous ; j'ai un gros probleme; j'ai programmé l'ouverture d'un fichier texte en MFC que j'affiche dans la vue. Mon souci est que je dois changer le fond d'un seul mot dans le texte et je n'y arrive pas. je connais que la fonction setBkColor() , mais cele ci change carrement tout le fond du texte donc ça m'arrange pas .
Exist-il une fonction pour ça ? es ce que je devrais choisir un autre conteneur pour le texte par exple(CrichEdit, CEdit,....) plu^tôt que la vue ?
voici mon code d'affichage :
void CMotifView::OnDraw(CDC* pDC) { CMotifDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return;
// TODO : ajoutez ici le code de dessin pour les données natives // je verifie que le fichier est ouvert if(pDoc->m_ouvertdoc==true) { // conteneur qui contirndra le texte CRect rect ; GetClientRect(&rect); // ecriture du texte dans la vue active du document int n= strlen(pDoc->m_pbuf) ; pDC->DrawText((pDoc->m_pbuf),n, &rect,0); } } merci d'avance
|
|
mercredi 5 décembre 2007 à 16:40:04 |
Re : changer couleur texte

BruNews
|
Prends un richedit.
ciao... BruNews, MVP VC++
|
|
samedi 8 décembre 2007 à 00:28:58 |
Re : changer couleur texte

kam42
|
salut à tous ; j'ai essayé avec un richedit, mais je crois que là n'est pas le probleme. parceque meme avec ça je ne peux modifier la couleur ou le fond que de tout le texte, or moi je veux juste modifier une partie du texte.
j'ai eu une idée pour ça: decomposer mon texte en trois CStrings
le premier CString sera les caracteres avant le mot ke je veux modifier le deuxieme CString sera le mot ke je veux modifier et le troisieme sera les caracteres apres le mot ke je veux modifier
et juste avant d'afficher le deuxieme CString je change la couleur du pen
le probleme est que je sais pas comment afficher trois variables dans la vue , l'une apres l'autre.
t'aurais pas une idée pour ça ? merci d'avance
|
|
samedi 8 décembre 2007 à 09:22:19 |
Re : changer couleur texte

BruNews
|
Réponse acceptée !
Tu as regardé les messages du richdit dans MSDN ? il y a tout ce qu'il faut.
ciao... BruNews, MVP VC++
|
|
dimanche 9 décembre 2007 à 14:08:32 |
Re : changer couleur texte

kam42
|
merci BruNews;
j'ai bien cherché, je vois comment ça fontionne mais j'arrive pas à savoir ou placer mon code.
Mon probleme actuellement : quand j'essaye dans la methode Oninitialupdate(), ça marche niklel au lancement du programme, le code est le suivant: void CRichView::OnInitialUpdate() { CRichEditView::OnInitialUpdate(); CRichEditCtrl& theCtrl=GetRichEditCtrl(); CString str="kamano" ; ; theCtrl.SetWindowText(str); theCtrl.SetSel(0,4);//select hello as the word to be formatted with different color CHARFORMAT cf; cf.cbSize = sizeof(CHARFORMAT); cf.dwMask = CFM_COLOR ; cf.crTextColor = RGB(255,0,0); //cf.bCharSet="hmfcjhcccccgh" ; cf.dwEffects = 0;//we do not want CFE_AUTOCOLOR , since this will choose GetSysColor value. theCtrl.SetWordCharFormat(cf); theCtrl.SetSel(0,0);//now, deselect text // Définir les marges d'impression (720 twips = 1/2 pouce) SetMargins(CRect(720, 720, 720, 720)); } le probleme avec cette methode est que ça se produit qu'une seule fois, au lancement du programme. alors j'ai essayé de mettre ce code dans le OnPaint() pourque ça s'actualise en fonction du booleen void Cessai2View::OnPaint() { CPaintDC dc(this); // device context for painting // TODO : ajoutez ici le code de votre gestionnaire de messages // N'appelez pas CRichEditView::OnPaint() pour la peinture des messages Cessai2Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; CString str="jetestemonprogramme "; dc.TextOut(0,0,str) ; if(pDoc->m_ouvertdoc1==true) { CRichEditCtrl& theCtrl=GetRichEditCtrl(); GetWindowText(str) ; theCtrl.SetSel(0,4);//select hello as the word to be formatted with different color CHARFORMAT cf; cf.cbSize = sizeof(CHARFORMAT); cf.dwMask = CFM_COLOR ; cf.crTextColor = RGB(255,0,0); //cf.bCharSet="hmfcjhcccccgh" ; cf.dwEffects = 0;//we do not want CFE_AUTOCOLOR , since this will choose GetSysColor value. theCtrl.SetWordCharFormat(cf); theCtrl.SetSel(0,0);//now, deselect text // Définir les marges d'impression (720 twips = 1/2 pouce) SetMargins(CRect(720, 720, 720, 720));
} } mais ce code ne marche pas ! Alors je serai très joyeux que tu me donnes une piste. merci d'avance
|
|
dimanche 9 décembre 2007 à 15:43:59 |
Re : changer couleur texte
|
Cette discussion est classée dans : texte, changer, rect, vue, pdoc
Répondre à ce message
Sujets en rapport avec ce message
Changer de police [ par laurielle ]
J'aimerais mettre en gras ,avec une police un peu plus grande que celle par défaut, le texte d'un bouton ou d'un texte static, en MFC. Faut-il nécessa
prob setwindowtext [ par flatou ]
Probleme tout con, je veux changer le texte d'un static (ou d'un editbox), pour cela j'utilise SetWindowTest(). Le prob est que le nouveau texte se su
Changer le texte dans la barre des titres (Win32 API) [ par Viper31 ]
Salut tout le monde !!J aimerai savoir si quelqu'un sait comment changer le texte dans la barre des titres (caption) sachant que ma fenetre est une bo
Couleur du texte [ par Vortex99011 ]
En fait j'ai créé un une EditBox, mais je voudrais bien changer la couleur du texte. J'ai jusque là utilisé l'API CreateFont(...) pour changer la poli
Changement de vue [ par james ]
SalutJe desire changer de vue dans une appli du type document /vue.j'ai deux Classes derivant de la classe CFormViewet en appuyant sur un bouton d'une
Changer le texte d'une messagebox [ par ggoufa ]
Salut a tous,je voudrais savoir comment on change le texte des boutons d'une messagebox (ex : cancel en quitter)Serais ce possible aussi de rajouter d
changer couleur texte dans richedit [ par melkiorlenecrarque ]
Comment changer la couleur du texte ecrit dans une richedit ? pourquoi:hdc = BeginPaint(GetDlgItem(hDlg, IDC_EDIT_RECU), &paintstruct);SetTextColor(hd
Changer la couleur d'un texte en mode console, et faire clignoter [ par Tank01 ]
Bonjour,Je suis débutante en c++, je travail sous dev c++4, je programme en mode console, voila, je souhaiterais pouvoir écrire certaines ligne en cou
Changer la couleur de texte d'un controle static [ par Gpic ]
Salut à tous, ya t'il un moyen de changer la couleur du texte d'un controle static sous Visual Studio.NET. Merci
[API] Changer le texte d'un static [ par tarretg ]
Bonjour,Je développe une petite application en Win32.Lorsque l'utilisateur fait un choix sur une ComboBox, je voudrais que la valeur de mes controles
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|