Einzelnen Beitrag anzeigen

DIET3RIX

Registriert seit: 21. Feb 2006
Ort: Bonn
78 Beiträge
 
Delphi 2007 Professional
 
#1

Eigene Komponente (Bild erlaubt kein zeichnen)

  Alt 24. Aug 2007, 09:03
Morgen,
ich versuche meine eigene Komponente zu schreiben. Leider weiss ich nicht, wie ich der ein Aussehen verleiehen kann.
Ich wollte mal testweise Hintergrundfarbe ändern, leider funzt das nicht so wie ich das haben wollte.

Delphi-Quellcode:
type
  TMyWinCtrl = class(TWinControl)
  private
    FBGColor : TColor;
    Canvas : TCanvas;
    procedure SetBGColor(Value: TColor);
    { Private-Deklarationen }

  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    { Public-Deklarationen }

  published
    property BGColor : TColor read FBGColor write SetBGColor;
    { Published-Deklarationen }

  end;

constructor TMyWinCtrl.Create(AOwner: TComponent);
begin
  Canvas := TCanvas.Create;
  inherited Create(AOwner);
end;

destructor TMyWinCtrl.Destroy;
begin
  inherited;
  Canvas.Free;
end;

procedure TMyWinCtrl.SetBGColor(Value: TColor);
var
  Rect : TRect;
begin
  Rect := GetClientRect;
  if ColorToRGB(Value) > -1 then
  begin
    Canvas.Brush.Color := Value;
    Canvas.FillRect(Rect);
    FBGColor := Value;
  end;
  Canvas.Refresh;
end;

end.
Ich bekomme die ganze Zeit die Fehlermeldung: "Leinwand/Bild erlaubt kein zeichnen".
Was kann ich tun bzw. was mache ich falsch?

thx voraus
Dieter
  Mit Zitat antworten Zitat