![]() |
Komponente in den Design-Modus setzen
Hallo wieder einmal ...
Ich frage mich gerade, ob es eine mehr oder weniger Möglichkeit gibt, eine Komponente in den Designmodus zu setzen ... Ich habe zwar schon TComponent.SetDesigning gefunden, aber das macht irgendie gar nichts - ausserdem kann ich das ja auch erst nach den Konstruktor aufrufen - wo es im Delphi-eigenen Form-editor ja bereits gesetz ist ... (das csDesigning Flag) Also folgene Fragen: - Wie bekomme ich das csDesigning-Flag gesetzt, vor dem Konstruktor? - Reicht das, um die Komponente in den Designmodus zu setzen? Was das wird? Lasst euch überraschen ;) (sofern es funktioniert ...) |
Re: Komponente in den Design-Modus setzen
Du musst den Owner in den Designmode setzen. Die Komponenten übernehmen das csDesigning wenn der Owner es gesetzt hat.
Zitat:
|
Re: Komponente in den Design-Modus setzen
Also ich habe einen neue Klasse von TWincontrol abgeleitet, und erstmal nur den konstruktor überschrieben ... der sieht jetzt so aus:
Delphi-Quellcode:
aber der Button ist Ganz normal klickbar und alles nur nicht im Design-Modus ...
constructor TDesignKompo.Create(AOwner: TComponent);
var edt: TButton; begin SetDesigning(True); SetDesignInstance(True); ControlStyle := ControlStyle + [csDesignInteractive]; inherited; Color := clRed; Width := 200; Height := 50; edt := TButton.Create(Self); with edt do begin Parent := Self; Caption := 'Hello'; // DesignWndProc() end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz