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.
|