/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Problemer med TRichedit
Fra : Klaus Petersen


Dato : 19-07-03 20:43

Hej NG.

Jeg er i gang med at lave en debugger, som viser meddelser i en TRichedit
component.

Den kan tilføje den indkomende tekst som en ny linje eller tilføje den
indkomende tekst til den sidste linje.

Desuden kan den gøre dette i forskellige farver.

Men... det virker desværre ikke helt, da den ikke får sat farven korrekt
efter have tilføjet noget til en linje.

Koden her genskaber problemet (delphi 6):

Kan I hjælpe?

Klaus.

-----
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls;

type
TForm1 = class(TForm)
RichEdit1: TRichEdit;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
h : string;
begin
richedit1.Lines.Add ('added line 1');

richedit1.SelAttributes.Color := rgb (255,0,0);
richedit1.Lines.Add( 'dette er rød tekst' );
richedit1.SelAttributes.Color := rgb (100,100,100);
richedit1.Lines.Add( 'dette er grå' );
h := richedit1.Lines [richedit1.Lines.Count-1];
richedit1.Lines [richedit1.Lines.Count-1] := h + 'dette skal være grå også';
richedit1.SelAttributes.Color := rgb (255,0,0);
richedit1.Lines.Add( 'dette er rød tekst' );
richedit1.SelAttributes.Color := rgb (100,100,100);
richedit1.Lines.Add( 'dette er grå' );
h := richedit1.Lines [richedit1.Lines.Count-1];
richedit1.Lines [richedit1.Lines.Count-1] := h + 'dette skal være grå også';
end;

procedure TForm1.FormCreate(Sender: TObject);
var
h : string;
begin
richedit1.Lines.Add ('added line 1');

richedit1.SelAttributes.Color := rgb (255,0,0);
richedit1.Lines.Add( 'dette er rød tekst' );
richedit1.SelAttributes.Color := rgb (100,100,100);
richedit1.Lines.Add( 'dette er grå' );
h := richedit1.Lines [richedit1.Lines.Count-1];
richedit1.Lines [richedit1.Lines.Count-1] := h + 'dette skal være grå også';
richedit1.SelAttributes.Color := rgb (255,0,0);
richedit1.Lines.Add( 'dette er rød tekst' );
richedit1.SelAttributes.Color := rgb (100,100,100);
richedit1.Lines.Add( 'dette er grå' );
h := richedit1.Lines [richedit1.Lines.Count-1];
richedit1.Lines [richedit1.Lines.Count-1] := h + 'dette skal være grå også';
end;

end.



 
 
Juno (21-07-2003)
Kommentar
Fra : Juno


Dato : 21-07-03 10:50

Klaus Petersen skrev i
news:bfc70i$eff$1@sunsite.dk

> Jeg er i gang med at lave en debugger, som viser meddelser i en
> TRichedit component.
>
> Den kan tilføje den indkomende tekst som en ny linje eller tilføje den
> indkomende tekst til den sidste linje.
>
> Desuden kan den gøre dette i forskellige farver.
>
> Men... det virker desværre ikke helt, da den ikke får sat farven
> korrekt efter have tilføjet noget til en linje.

Du skal sætte cursoren i enden af din tekst, inden du skifter farve og
tilføjer en ny linie:
h := richedit1.Lines [richedit1.Lines.Count-1];
richedit1.Lines [richedit1.Lines.Count-1] := h + ' dette skal være grå
også';
richedit1.SelStart := Length(RichEdit1.Text); //<--------------- sætter
cursoren i enden af teksten.
richedit1.SelAttributes.Color := rgb(0,0,255);
richedit1.Lines.Add( 'dette er blå tekst' );

--
*/*
jUno
spamfilter: Fjern din bh



Klaus Petersen (22-07-2003)
Kommentar
Fra : Klaus Petersen


Dato : 22-07-03 00:28

> Du skal sætte cursoren i enden af din tekst, inden du skifter farve og
> tilføjer en ny linie:
> h := richedit1.Lines [richedit1.Lines.Count-1];
> richedit1.Lines [richedit1.Lines.Count-1] := h + ' dette skal være grå
> også';
> richedit1.SelStart := Length(RichEdit1.Text); //<--------------- sætter
> cursoren i enden af teksten.
> richedit1.SelAttributes.Color := rgb(0,0,255);
> richedit1.Lines.Add( 'dette er blå tekst' );

Det virkede ikke.

Tilgengæld, hvis man inden man sætter farver osv. indsætter ....

richedit1.SelStart := -1;

virker det... og så må man jo gætte sig til hvorfor..



Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408195
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste