Deine neuen Eigenschaften, die das Aussehen steuern sollten alle eine Settermethode haben. Nachdem du die eigenschaft geändert hast, rufe ein Repaint, Refresch oder Paint auf, damit diese Änderung auch gezeichnet wird.
Delphi-Quellcode:
type
TMyPanel = class(TPanel)
private
FTitle: string;
FShowTitle: Boolean;
procedure SetTitle(const ATitle: string);
procedure SetShowTitel(const Value : Boolean);
protected
procedure Paint; override;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
published
property Title: string read FTitle write SetTitle;
property ShowTitle: Boolean read FShowTitle write SetShowTitle
end;
....
procedure TMyPanel.SetShowTitel(const Value : Boolean);
begin
if FShowTitel = Value then
Exit;
FShowTitel := Value;
Paint;
end;
In deiner vererbten Paint-Methode wird dann natürlich dein Titel gezeichnet.
Delphi-Quellcode:
procedure TMyPanel.Paint;
begin
inherited;
if FShowTitel then begin
// ... hier zeichne ich den Titel
end;
// ... und so weiter
end;
Üblicherweise lagere ich solche Sachen aber in eigene Methoden wie DrawTitel aus und rufe der Übersicht halber diese nur in Paint auf.
Gruß oki