Registriert seit: 22. Sep 2003
1.115 Beiträge
Delphi 12 Athens
|
Re: ListBox Weiterentwicklung
28. Mai 2004, 15:06
Hi hier mal mein ausschnitt aus dem Source.Ich habe es versucht mit dem überschreiben der Methode aber irgendwie gehts trotzdem nicht.Könnt ihr mir bitte helfen?
Mfg Alex
Delphi-Quellcode:
unit ColorListBox;
interface
uses
SysUtils, Classes, Controls, StdCtrls, Graphics, Windows, Messages;
type
MyColorListBox = class(TListBox)
private
{ Private-Deklarationen }
FColor : TColor;
FRect : TRect;
FIndex : Integer;
procedure SetColor(Value:TColor);
protected
{ Protected-Deklarationen }
public
{ Public-Deklarationen }
constructor Create(AOwner:TComponent); override;
destructor destroy; override;
procedure DrawItem( Index: Integer; Rect: TRect;
State: TOwnerDrawState); override;
published
{ Published-Deklarationen }
property DrawColor : TColor read FColor write SetColor;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents(' Beispiele', [MyColorListBox]);
end;
{ ColorListBox }
constructor MyColorListBox.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
Width := 100;
Height := 100;
end;
destructor MyColorListBox.destroy;
begin
inherited Destroy;
end;
procedure MyColorListBox.DrawItem( Index: Integer; Rect: TRect;
State: TOwnerDrawState);
begin
inherited;
FRect := Rect;
FIndex := Index;
end;
procedure MyColorListBox.SetColor(Value: TColor);
begin
FColor := Value;
if ItemIndex = -1 then exit;
Canvas.Brush.Color := FColor;
Canvas.FillRect(FRect);
Canvas.TextOut(FRect.Left,FRect.Top, Items[FIndex]);
end;
|
|
Zitat
|