Problem beim erstellen von Listbox-Items

teQy

Grünschnabel
hallo miteinander,

direkt zur sache:
Code:
procedure Tfrm_main.lb_RechnungDrawItem(Control: TWinControl; 
  Index: Integer; Rect: TRect; State: TOwnerDrawState); 
begin 
  with (Control as TListBox) do 
  begin 
    canvas.Font.Style := []; 
    canvas.FillRect(rect); 
    if Assigned (Items.Objects[Index]) then 
    begin 
      case Integer(Items.Objects[Index]) of  // Je nach Zahl entsprechende Font 
      1: canvas.Font.Style := [fsBold]; 
      2: canvas.Font.Color := clRed; 
      end; 
    end; 
    canvas.TextOut(Rect.Left + 2, Rect.Top, Items[index]); 
  end; 
end; 
 
// Wird (innerhalb der Unit!) so aufgerufen 
procedure Tfrm_main.FormCreate(Sender: TObject); 
begin 
  lb_Rechnung.AddItem('hi', pointer(1)); 
  lb_Rechnung.AddItem('hi', pointer(2)); 
end; 
 
// ======================================== 
// Wenn ich das selbe von einer externen Unit probiere, wird 
// der betreffende string einfach nich in die listbox geschrieben 
// :\ mein versuch sah so aus: 
 
// Gibt einen String in Rot aus 
function TOutputter.PrintRed(pText: string): String; 
begin
  // source ist eine übergebene listbox
  Source.AddItem(pText, Pointer(2)); 
end;

Jo, die Kommentare beschreiben ja schon das problem. ich nehme mal an es ist was triviales, aber alleine bin ich mit meinem latein am ende :(

vielen dank schonmal für die antworten,

tobi
 
Zurück