Hallo,
ich weiß der Artikel ist schon älter, ich habe jedoch das gleiche Problem:
Habe den o.g. Code übernommen
Delphi-Quellcode:
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
{----------------------------------------------------------------------------------------------------}
var
TopDif: Integer; // Gleicht die Höhendifferenz aus
begin
with (Control as TListbox) do begin
if index = (StrToInt(EdtTreffer.Text)) then //es sollen nur das Item verändert werden, dass der Eingabe entspricht!
begin
Canvas.Brush.Color := clRed; //Hintergrundfarbe
Canvas.Font.Color := clYellow; //Schriftfarbe
TopDif := (ItemHeight div 2) - (Canvas.TextHeight(#32) div 2);
Canvas.TextRect(Rect, Rect.Left, Rect.Top + TopDif, Items[Index]);
end;
end;
end;
Leider passiert da garnichts!?
Muss diese Prozedur nicht explizit aufgerufen werden?