Danke!
Zitat:
1.) Wie schon mehrfach gefragt: Wie realisierst du das Blinken der Schrift im RichEdit?
2.) Wie bekommst du die Smileys da rein? Wie hast du eingestellt, dass du sie nicht in der Größe verändern kannst?
Zu 1.: Das blinken der Schrift realisieren ich, indem ich beim Auftreten eines Fehlers zuerst ganz normal die Fehlermeldung zum Log mit der StdFarbe clMaroon hinzufüge. Gleichzeitig wird die Position des 1.Zeichens der Fehlermeldung in einer StringList und die Länge der Fehlermeldung in einer anderen StringList gespeichert. In einem OnTimer Event (Interval = 5000) gehe ich in einer Schleife alle einträge der 1. StringList durch. In etwa so:
Delphi-Quellcode:
if State = 0 then
begin
for i := 0 to StringList1.Items.Count -1 do
begin
RichEdit1.SelStart := StrToInt(StringList1.Items[i]);
RichEdit1.SelLength := StrToInt(StringList1.Items[i]);
RichEdit1.SelAttributes.Color := clRed;
end;
State := 1;
end
else
begin
for i := 0 to StringList1.Items.Count -1 do
begin
RichEdit1.SelStart := StrToInt(StringList1.Items[i]);
RichEdit1.SelLength := StrToInt(StringList1.Items[i]);
RichEdit1.SelAttributes.Color := clMaroon;
end;
State := 0;
end;
Zu 2.: Ich benutze TJvRichEdit, welches eine Mathode "InsertBitmap" enthält um Smilies einzufügen. Das Verändern der Größe wird mit ReadOnly = true verhindert. Beim Empfangen einer Message prüft der Chat, ob eine bestimmte Zeichenfolge vorkommt (z.B.
für

), markiert diese und setzt JvRichEdit1.SelText auf ''. Danach wird InsertBitmap(Bmp, false) aufgerufen.
Momentan arbeite ich an der Channel Liste. Es wird so sein, dass man über diese Liste alle geöffneten Server einsehen kann. Dabei ist eine Server ein "Channel".
Floriam