Einzelnen Beitrag anzeigen

LuckySpacy

Registriert seit: 2. Apr 2003
Ort: Fränkisch-Crumbach
50 Beiträge
 
Delphi 10.4 Sydney
 
#1

Komponente im Entwurf (Designtime) zeichnen

  Alt 3. Jun 2007, 09:10
Meine Frage dürfte für jeden Komponentenentwickler sehr banal sein.
Aber mir fällt dazu kein Lösung ein.
Ich möchte eine neue Komponente (abgeleitet von TGraphicControl), auf die ich einen Rahmen zeichnen kann, erstellen.
Das funktioniert in der Laufzweit(Runtime) auch vollkommen problemlos.
Das Problem habe ich aber in der Designtime.
Ich möchte, wenn ich das Property Rahmen im Objektinspector auf true stelle, dass der Rahmen in der Entwicklung sofort gezeichnet wird.
Wie stelle ich das an?

Hier mein Quellcode:

Delphi-Quellcode:
unit GrafikTest;

interface

uses
  SysUtils, Classes, Controls;

type
  TGrafikTest = class(TGraphicControl)
  private
    FRahmen: Boolean;
    procedure SetRahmen(const Value: Boolean);
  protected
    procedure Paint; override;
  public
  published
    property Rahmen: Boolean read FRahmen write SetRahmen;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Test', [TGrafikTest]);
end;

{ TGrafikTest }

procedure TGrafikTest.Paint;
begin
  inherited;
  if FRahmen then
    Canvas.Rectangle(ClientRect);
end;

procedure TGrafikTest.SetRahmen(const Value: Boolean);
begin
  FRahmen := Value;
  invalidate;
end;

end.
Thomas Bachmann
  Mit Zitat antworten Zitat