crocejf2000
Messages postés260Date d'inscriptionlundi 27 janvier 2003StatutMembreDernière intervention27 août 2008
-
18 févr. 2003 à 11:19
Bub325
Messages postés41Date d'inscriptiondimanche 9 février 2003StatutMembreDernière intervention28 avril 2010
-
23 août 2003 à 20:09
Salut a tous,
-->OS Win98, Borland C++ 5
Je suis toujours avec mon compilateur maison, et j'ai un petit probleme d'affichage de ma RichEdit -> c'est pour le syntax highlighting.
en fait, quand j'highlight ma ligne qui vient d'etre modifié (en gros une mise a jour de ma ligne), je selectionne mon texte, l'analyse et le remplace par le texte highlighté. Ca marche mais comme il "rafraichi" ma fenetre client, bien que ca aille vite, on voi ce qu'il fait (selection,remplacement) et c'est vraiment pas cool pour l'utilisateur, surtout quand le slide fait des aller-retour a chaque fois q'on presse une touche.
Mon idée est de désactiver le rafraichissement pendant le traitement et de le reactiver apres, j'utilise :
SendMessage(WM_SETREDRAW,false);
avant le traitement pour desactiver
et SendMessage(WM_SETREDRAW,true); pour reactiver, mais ca ne reactive rien, ca rafraichis pas, meme si je fait : TControl::EvPaint();
TWindow::EvPaint();
TWindow::EvEraseBkgnd(GetDC(NULL));
en bref, j'ai un peut tout essayé. Donc comment faire pour rafraichir mon richedit ???
Merci a tous, et au fait, j'aurais voulu en savoir + sur l'utilisation des DC, Device Context il me semble.
Bub325
Messages postés41Date d'inscriptiondimanche 9 février 2003StatutMembreDernière intervention28 avril 2010 23 août 2003 à 20:09
Et bien en faite ta solution est un peu barbar, mais il y a une solution bien plus agréable pour ça quio est de cacher selection et curseur en envoyant le message EM_HIDESELECTION (true cache la selection et false l'affiche).
J'espère avoir répondu à ta question,
Bub325
Le codeur pas comme tout le monde
8-)
PS: Je ne capte pas les messages envoyer par le richedit dans la fenètre parent comme EN_SELCHANGE ainsi que celui qui est envoyé lorsqu'on tape un caractère (Merci de me le rappeler).
Merci beaucoup