neue Komponente?
hallo,
wie kann ich zur laufzeit eines programmes z.b. ein neues label erzeugen? (ich kann ja keine 100 labels bei der programmierung erzeugen und dann zur laufzeit visible jeweils auf true stellen!!) danke, heiopei |
Moin heiopei,
zum Beispiel so:
Delphi-Quellcode:
Wichtig:
procedure TfrmMAIN.Button1Click(Sender: TObject);
begin with TLabel.Create(self) do begin Parent := self; Caption := 'TEST'; end; end; Da der Aufruf innerhalb einer OnClick Routine des Hauptformulares (frmMAIN) erfolgt, ist self das Hauptformular. Dadurch (Create(self)) wird das Formular Besitzer des Labels, so dass es automatisch freigegeben wird, wenn das Formular freigegeben wird. Bei Create(nil) müsste man sich selber um die Freigabe kümmern. |
Re: neue Komponente?
Hallo heiopei,
Zitat:
In der Komponenten-Palette oben, 10x Doppelklick auf LAbel. Dann alle 10 Labels auf dem Formular markieren, Strg+c und dann 10x Strg+v. Schon hast Du 100 Labels, jetzt nur noch Sortieren, also, alle 100 Markieren, rechtsklick und dann im nächsten Fenster nach Deinen Wünschen ausrichten. Ich behaupte das dies sogar schneller geht als eine for-Schleife zu schreiben, die Dir 100 zur Runtime erzeugt. :mrgreen: Zitat:
Grüsse, Daniel :hi: |
Moin,
Zitat:
und nicht schon anfangs sichtbar sind! Zitat:
schon sehr viele koponenten auf dem bildschirm habe! welche funktion hat "parent"? grüße heiopei |
Hoi,
schau mal in der Hilfe nach dort steht das ganz gut beschrieben. Wenn du mal wieder nicht weist was ein Begriff bedeutet dann schreiben ihn in die Unit, klicke ihn an und dann F1, dann kommt die Hilfe ... |
dankeeeeeeee
|
Davon abgesehen, dass ich glaube die Schleife schneller getippt hätte, wie die ganzen Label voneinander runtergeschoben, ist es mit der Schleife viel einfacher, weil man sie danach auch alle ordentlich ansprechen kann. Nicht so ein Kram mit FindComponent (die mMn unsinnigste Delphi-Funktion aller Zeiten!)
|
Zitat:
|
)Hallo!
Zitat:
Gruß Dietmar Brüggendiek |
Moin Dietmar,
ein eigenes Array kann man natürlich auch erstellen. Mit FindComponent wird nur das interne Array der Komponenten durchsucht. Vom Grundprinzip her also kein Unterschied, obwohl das eigene Array natürlich schneller sein kann. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz