Autor Beitrag
Chris1308
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 220

Win XP Prof.
D2005 Prof, D7 Prof, D7 Pers
BeitragVerfasst: Mo 08.07.02 16:59 
Hi Leute,
gibt es eine Möglichkeit, allen Komponenten die Eigenschaft "Align" zuzuweisen?
Es wäre nämlich äußert praktisch, wenn folgendes irgendwie gehen würde:
ausblenden Quelltext
1:
Button1.Align := alBottom;					

Gibt es da nicht irgendeine Möglichkeit?

Chris1308
chewie
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Mo 08.07.02 20:35 
Hoi Chris,

Alle Komponenten findest du, indem du über das Komponenten-Array des Formulars iterierst, dabei kannst du auch gleich ein Property setzen.

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
procedure TForm1.AlignControls;
var
  iIndex    : Integer;
begin
  for iIndex := 0 to ComponentCount-1 do begin

    // das Property <Align> ist in TControl definiert, Components[]
    // gibt aber TComponent zurück, deshalb überprüfen
    if (Components[iIndex] is TControl) then begin
      (Components[iIndex] as TControl).Align := alBottom;
    end; // if

  end; // for iIndex

end;


Gruss - Jörg


Zuletzt bearbeitet von chewie am Di 09.07.02 09:28, insgesamt 1-mal bearbeitet
Chris1308 Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 220

Win XP Prof.
D2005 Prof, D7 Prof, D7 Pers
BeitragVerfasst: Mo 08.07.02 21:31 
Thx!
Btw: Was tun, wenn ich nur 1 von 3 Buttons auf alBottom setzen will?

Chris1308
chewie
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Di 09.07.02 09:28 
Dann kannst du versuchen, mit dem <Tag> zu arbeiten (kann im Objekt-Inspektor gesetzt weden). Dies ist ein auf <TObject> definierter Integer, der von Borland nicht gebraucht wird - er steht also in jeder (auch jeder selbst definierten) Klasse zur Verfügung.

Wenn du nun die Buttons, die du ändern willst, z.B. mit einem Tag > 0 markierst, kannst du diese zusätzliche Abfrage einbauen, bevor du <Align> setzt.

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
var
  obControl : TControl;
begin
  ...
  if obControl.Tag > 0 then begin
    obControl.Align := alBottom;
  end;
  ...
end;


Gruss - Jörg