Mach es dir doch nicht so schwer... ich habe dir oben schon eine sehr einfache Lösung gepostet... ein Beispiel, folgender Text in der TJvHTListBox:
Zitat:
<b>Dennis:</b><ind=70>Test</ind>
Sebastian:<ind=70>Test2</ind>
Noch jemand:<ind=70>Ihr seid ja langweilig</ind>
<b>Dennis:</b><ind=70>Klappe</ind>
Ansonsten hat Luckie oben schon geschrieben wie Tabs korrekt angezeigt werden, so ca., bisschen Feintuning ist noch nötig:
Delphi-Quellcode:
procedure TForm246.ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
const
TextToHighlight = 'Dennis:';
var
MyListBox: TListBox;
CurrentItem: string;
CurrentRect: TRect;
CurrentPaintLeft: Integer;
FormatValue: Integer;
begin
MyListBox := Control as TListBox;
CurrentItem := MyListBox.Items[Index];
CurrentRect := Rect;
FormatValue := DT_LEFT or DT_EXPANDTABS or DT_TABSTOP;
LongRec(FormatValue).Bytes[1] := 14; // Tabbreite in Buchstaben
if AnsiSameText(Copy(CurrentItem, 1, Length(TextToHighlight)), TextToHighlight) then
begin
Delete(CurrentItem, 1, Length(TextToHighlight));
DrawText(MyListBox.Canvas.Handle, CurrentItem, Length(CurrentItem), CurrentRect, FormatValue); // erst den Text dahinter
MyListBox.Canvas.Font.Style := [fsBold];
DrawText(MyListBox.Canvas.Handle, TextToHighlight, Length(TextToHighlight), CurrentRect, FormatValue); // nun den Namen vorne
end
else
DrawText(MyListBox.Canvas.Handle, CurrentItem, Length(CurrentItem), CurrentRect, FormatValue);
end;
Heraus kommt dann das (links: TJvHTListBox mit obigem Text, rechts: selbst gezeichnet):