So, jetzt habe ich das auf meine Bedüfnisse umgeschrieben, aber an der Farbe ändert isch nichts.
Delphi-Quellcode:
function NewLBItem(aListBox: TListBox; aValue: string; aIndex: Integer = -1): Integer;
procedure ltbUserDrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
procedure LoadFromArray;
procedure btnAddProfilClick(Sender: TObject);
procedure btnChangeProfilClick(Sender: TObject);
procedure cmbEntryChange(Sender: TObject);
procedure btnAddUserClick(Sender: TObject);
procedure btnReloadClick(Sender: TObject);
procedure btnChangeClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmMain: TfrmMain;
Adressen: Array[1..100, 1..2] of String;
Eintraege: Integer;
implementation
{$R *.dfm}
function TfrmMain.NewLBItem(aListBox: TListBox; aValue: string; aIndex: Integer = -1): Integer;
begin
result := aListBox.Items.Add(aValue);
end;
procedure TfrmMain.ltbUserDrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
var
TopDif: Integer; // Gleicht die Höhendifferenz aus
begin
with (Control as TListbox) do
begin
Canvas.Brush.Color := clBlack; // Hintergrundfarbe
Canvas.Font.Color := clRed; //Schriftfarbe
end;
TopDif := (ltbUser.ItemHeight div 2) - (Canvas.TextHeight(#32) div 2); // Damit es in der Mitte der Zeile steht.
Canvas.TextRect(Rect, Rect.Left, Rect.Top + TopDif, ltbUser.Items[Index]); // Und hier wird der Text gezeichnet
end;
Damit rufe ich es auf:
Delphi-Quellcode:
procedure TfrmMain.btnReloadClick(Sender: TObject);
var
I: Integer;
begin
ltbUser.Clear;
For I := 1 to Eintraege do
begin
WebBrowser.Navigate('http://wwp.icq.com/scripts/online.dll?img=5&icq=' + Adressen[I,1]);
While WebBrowser.Busy do
begin
Application.ProcessMessages;
end;
If WebBrowser.LocationURL = 'http://status.icq.com/5/online1.gif' then
begin
NewLBItem(ltbUser, Adressen[I,1]);
end
Else
begin
NewLBItem(ltbUser, Adressen[I,1]);
end;
end;
end;
auch wenn die obere procedure im Moment wenig Sinn macht, müsste doch eigentlich doch was passieren, oder?
Im
OI habe ich den Style auch auf lbOwnerDrawFixed gesetzt.