Hi,
ist es möglich, die Anzahl und vor allem die Namen meiner verwendeten Komponenten zur Laufzeit zu ermittel bzw. aufzulisten?
Z.B. habe ich eine Form1 und darauf befinden sich 3 TButtons (Button1, Button2, Button3) und einige TLabels.
Natürlich weiss ich als Programmierer, wieviele Buttons (mit deren Bezeichnung) ich benutzt habe.
Aber kann man dies auch zur Laufzeit z.B. in eine Liste auflisten lassen.
Der Hintergrund ist, das ich die Komponentenpositon, -höhe, - breite usw. bei einer anderen Bildschirmauflösung entsprechend anpassen möchte:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33:
| procedure TForm1.FormActivate(Sender: TObject); const x:integer=800; y:integer=600; var bildbreite,bildhoehe:integer; begin bildbreite:=screen.width; bildhoehe:=screen.height;
if (bildbreite<>x) and (bildhoehe<>y) then begin
Komponente1.Width:=round(Komponente1.Width*(Bildbreite / x)); Komponente1.Height:=round(Komponente1.Height*(Bildhoehe / y));
Form1.Width:=round(Form1.Width*(Bildbreite / x)); Form1.Height:=round((Form1.Height-24)*(Bildhoehe / y))+24;
Komponente1.Left:=round(Komponente1.Left*(Bildbreite / x)); Komponente1.Top:=round(Komponente1.Top*(Bildhoehe / y)); end;
Form1.Left:=Screen.Width div 2 - Form1.Width div 2; Form1.Top:=Screen.Height div 2 - Form1.Height div 2; end; |
Cu
Crowbar