Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Komponente in den Design-Modus setzen (https://www.delphipraxis.net/75455-komponente-den-design-modus-setzen.html)

jfheins 19. Aug 2006 11:04


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 ...)

jbg 19. Aug 2006 11:54

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:

Was das wird? Lasst euch überraschen
Das csDesigning kann man eigentlich nur für eine einzige Sache gebrauchen.

jfheins 19. Aug 2006 12:14

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:
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;
aber der Button ist Ganz normal klickbar und alles nur nicht im Design-Modus ...


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