Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.119 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: alle Strings aus Edit.Text in der ListBox farbig darstel

  Alt 7. Sep 2006, 01:00
Moin Holger,

wenn ich es so mache

Delphi-Quellcode:
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);

const
  _aclFont : array [boolean] of TColor = (clBlack,clRed);

var
  lb : TListBox;
  sLine : string;
  sOut : string;
  iPos : integer;
  iLeft : integer;

begin
  lb := Control as TListBox;
  sLine := lb.Items[Index];
  iLeft := Rect.Left;
  while length(sLine) > 0 do begin
    iPos := pos(Edit2.Text,sLine);
    case iPos of
      0 : begin
        sOut := sLine;
        sLine := '';
      end;
      1 : begin
        sOut := copy(sLine,1,length(Edit2.Text));
        sLine := copy(sLine,length(Edit2.Text)+1,MaxInt);
      end;
      else begin
        sOut := copy(sLine,1,iPos-1);
        sLine := copy(sLine,iPos,MaxInt);
      end;
    end;
    lb.Canvas.Font.Color := _aclFont[iPos=1];
    lb.Canvas.TextOut(iLeft,Rect.Top,sOut);
    iLeft := lb.Canvas.PenPos.X;
  end;
end;
wird alles, was sich in Edit2 befindet, und in der auszugebenden ListBoxzeile steht rot geschrieben
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat