determiner les ligne visible ds un RichEdit

determiner les ligne visible ds un RichEdit - Delphi/Pascal - Programmation

Marsh Posté le 17-09-2002 à 19:41:54    

salut, je charge un fichier dans un RichEdit, Je veux faire des traitement de mise en forme coloration syntaxique etc...
Mais les traitement sont trop long si je le fait sur tous le fichier bien sur, je veux faire les traitements que sur la parties visible du fichier (la page courante) qui à une idee pour determiner les lignes visible en cours ?
sans passer par la position du point d'insertion ki peut etre en dehors de la partie visible.
Merci.

Reply

Marsh Posté le 17-09-2002 à 19:41:54   

Reply

Marsh Posté le 17-09-2002 à 20:44:34    

Fait une petite recherche il y a beaucoup de topic traitant du richedit
 
 :hello:


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 17-09-2002 à 21:00:58    

je cherche, je cherche, je post la soluce si je la trouve. Mais si quelqu'un à la soluce avant...
Ben pas trouvé....
alors a votre bon coeur...


Message édité par hhf le 17-09-2002 à 21:18:36
Reply

Marsh Posté le 17-09-2002 à 23:25:43    

bon voila ce que j'ai trouvé avec l'aide API Win32.
J'ai fait ca à l'arrache :

Code :
  1. procedure TForm1.Button2Click(Sender: TObject);
  2. var   FoundAt: LongInt;
  3.       StartPos, ToEnd, PosActu, Fin: Integer;
  4. begin
  5. with RichEdit1 do
  6. begin
  7.    SetFocus;
  8.    PosActu:=SelStart;
  9.    StartPos:=perform(EM_LINEINDEX,perform(EM_GETFIRSTVISIBLELINE,0,0),0);
  10.    Fin:=StartPos+400;
  11.    FoundAt := FindText('t',StartPos,Fin, [stMatchCase]);
  12.    while FoundAt <> -1 do
  13.    begin
  14.       SelStart:=FoundAt;
  15.       SelLength:=length('t');
  16.       SelAttributes.Color:=clRed;
  17.       FoundAt := FindText('t',FoundAt+length('t'),Fin-FoundAt, [stMatchCase]);
  18.    end;
  19.    SelStart:=PosActu;
  20. end;
  21. end;


Donc là ça coloris tous les 't' en rouge des 400 premiers caracteres du texte visible dans un RichEdit. Voila si quelqu'un à une idee mieux... je suis preneur.
Evidement le truc c'est d'avoir aussi via le mm procedé la fin du texte visible.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed