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.