![]() |
dfm umgehen und delphi komponenten manuell platzieren
Hallo!
Gibt es eine einfache Lösung delphi komponenten bei FormCreate manuell zu platzieren? Ich möchte nicht komplett auf die dfm-datei verzichten, es sollen nur ein TShellTreeView und -ListView manuell platziert werden. Hintergrund: Ich erweitere den TShellTree und ListView und möchte ein bisschen herumspielen. Das geht natürlich nicht wenn auf dem Formular die kompilierte Komponente liegt. Mit CreateWindow kann man ja alle möglichen Dinge erzeugen, aber wie mache ich das mit Delphi-Eigenen? Grüße Sebastian |
Re: dfm umgehen und delphi komponenten manuell platzieren
Hi,
das Stichwort ist [dp="Komponente* dynamisch erstellen"]dynamische Komponentenerstellung[/dp]. ;) Beispiel anhand eines Buttons:
Delphi-Quellcode:
Chris
procedure TfrmMain.FormCreate(Sender: TObject);
var btnNew: TButton; begin btnNew := TButton.Create(self); btnNew.Parent := self; btnNew.Caption := 'Text'; btnNew.Left := 10; btnNew.Top := 10; btnNew.Width := 100; btnNew.Height := 100; btnNew.Show; end; |
Re: dfm umgehen und delphi komponenten manuell platzieren
Du kannst ja in OnCreate deines Formulars die Werte für Left, Top ... selber zuweisen, da ja die Werte aus der DFM vorher geladen werden
|
Re: dfm umgehen und delphi komponenten manuell platzieren
Das machst du folgendermaßen:
Delphi-Quellcode:
uses
ComCtrls; {...} procedure TForm1.FormCreate(Sender: TObject); begin with TListView.Create(Self) do begin Parent := Self; // Position usw. {...} end; end; |
Re: dfm umgehen und delphi komponenten manuell platzieren
:bounce2: Top Antworten! Schnell und genau was ich brauche. Dank euch!
|
DP-Maintenance
Dieses Thema wurde von "Christian Seehase" von "Windows API" nach "VCL-Komponenten und Controls" verschoben.
Es dreht sich um VCL-Komponenten |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:59 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