Aufzählungsfunktion für Komponenten

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
malabarista
Beiträge: 321
Registriert: Sa 11. Jun 2016, 12:16
OS, Lazarus, FPC: Linux Mint 18.1 L1.6.2-1 FPC 3.0.0
CPU-Target: 64Bit
Wohnort: Konstanz

Aufzählungsfunktion für Komponenten

Beitrag von malabarista »

Gibt es eine Aufzählungsfunktion für Komponenten wie Buttons, Labels und Edits ?

Was ich vorhabe, ist Folgendes:
weil meine Software auf sehr verschiedenen grossen und kleinen Displays verwendet wird, möchte ich die Grössen einzelnen Komponenten (Buttons, Labels, Edits) sowie deren Schritgrösse per Software geeignet anpassen.
Dieser Teil funktioniert bereits gut.

Da wäre mir eine automatische Aufzählfunktion recht, die mir mitteilt: wieviele Komponenten des Typs Button gibt es in dem betreffenden Formular und wie heissen diese.

Warf
Beiträge: 1910
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Aufzählungsfunktion für Komponenten

Beitrag von Warf »

Warum nicht einfach anchors setzen und im onresize die Schrift Größe ändern?
Wenn nicht einfach

Code: Alles auswählen

for i:=0 to self.controlcount - 1 do
  Self.Controls[i].WasAuchImmer


Die controls und controlcount property hat jedes Container Control der LCL

malabarista
Beiträge: 321
Registriert: Sa 11. Jun 2016, 12:16
OS, Lazarus, FPC: Linux Mint 18.1 L1.6.2-1 FPC 3.0.0
CPU-Target: 64Bit
Wohnort: Konstanz

Re: Aufzählungsfunktion für Komponenten

Beitrag von malabarista »

Ja, das funktioniert gut.

Dankeschön !

malabarista
Beiträge: 321
Registriert: Sa 11. Jun 2016, 12:16
OS, Lazarus, FPC: Linux Mint 18.1 L1.6.2-1 FPC 3.0.0
CPU-Target: 64Bit
Wohnort: Konstanz

Re: Aufzählungsfunktion für Komponenten

Beitrag von malabarista »

Und wie funktioniert dies für Elemente bei einer Groupbox ?
Eine Groupbox ist ein Tcontrol, kein Tform.

wp_xyz
Beiträge: 4889
Registriert: Fr 8. Apr 2011, 09:01

Re: Aufzählungsfunktion für Komponenten

Beitrag von wp_xyz »

Code: Alles auswählen

procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
begin
  for i:=0 to Groupbox1.ControlCount-1 do
    Memo1.Lines.Add(TControl(Groupbox1.Controls[i]).Name);
end;

malabarista
Beiträge: 321
Registriert: Sa 11. Jun 2016, 12:16
OS, Lazarus, FPC: Linux Mint 18.1 L1.6.2-1 FPC 3.0.0
CPU-Target: 64Bit
Wohnort: Konstanz

Re: Aufzählungsfunktion für Komponenten

Beitrag von malabarista »

Klasse.
Danke.

Antworten