Die Eigenschaft Align bezeichnet die Ausrichtung innerhalb eines Fensters oder eines Panels. Es geht hierbei um das Verhalten bei veränderten Fenstergrößen. Dies ist am Anfang sehr nervend, da Sie ja jeder am liebsten eine Funktion mit dem Programm erstellen möchten. Aber nicht jeder User hat einen gleich großen Monitor. Was auf Ihrem Monitor gut aussieht, kann auf einem Monitor mit einer größeren oder kleineren Auflösung schon wieder ganz anders Aussehen. Außerdem kann es sein, das die Schrift vom betriebssystem bestimmt wird. Aber nun zur Praxis.

Wahlweise können sie auch ein Label anwählen (schwarze Quadrate) und durch STRG-C und 3 mal STRG-V die 4 Labels erzeugen.

Nachdem Sie die 4 Labels bestückt haben, müssen Sie noch ein OnActivate Ereignis, im Objekt TForm, erzeugen. Hierzu wählen Sie, durch einen Klick auf den Objekt-Baum-Explorer. Die Form aus.

Als nächstes müssen Sie auf Ereignisse im Objektexplorer umschalten.

Wenn Sie auf den Reiter „Ereignisse“ klicken, verändern sich die Namen im Objektinspektor. Klicken Sie nun auf die … bei „OnActivate„.

Bitte fügen Sie nun folgenden Quelltext in das Ereignis „OnActivate“ im Quelltext ein.
procedure TForm1.FormActivate(Sender: TObject);
begin
//Setze die breite des Formulars auf 500 Punkte
Form1.Width:=500;
//Label1 und Label2 Horizontal mittig anzeigen
Label1.Alignment:=taCenter;
Label2.Alignment:=taCenter;
//Beschriftungen und Align-Eigenschaften ändern
Label1.Caption:='alTop->Align Oben';
Label1.Align:=alTop;
Label2.Caption:='alBottom->Align Unten';
Label2.Align:=alBottom;
//Beide Texte Vertikal mittig anzeigen
Label3.Layout:=tlCenter;
Label4.Layout:=tlCenter;
//Beschriftungen und Align-Eigenschaften ändern
Label3.Caption:='alLeft->Align Links';
Label3.Align:=alLeft;
Label4.Caption:='alRight->Align Rechts';
Label4.Align:=alRight;
end;
Die Veränderung, die hier im Quelltext gesteuert wird. Können Sie auch „manuell“ im Objektexplorer einstellen. Dafür ist er ja da. Dann brauchen sie auch das OnActivate – Ereignis nicht. Es geht mir jedoch darum nicht jede einzelnen Aktion beschreiben zu müssen. Was Sie aber nicht daran hindern soll die einzelnen Eigneschaften des Labels auszuprobieren. Jedoch geht es hier um die Erläuterung von der Eigenschaft Align und da ist es schon sehr ratsam, dass Sie nichts anderes anwählen, da Align von anderen Eigenschaften beeinflusst werden kann.
Die Ausgabe

Quelltextbeschreibung
Die Größe des Fensters musste ich auf 500 Punkte festlegen da sich sonst die Schrift in der Mitte überschnitten hätte. Die Schriften oben und unten habe ich durch
Label1.Alignment:=taCenter;
horizontal zentriert.
Die Texte Links und Rechts habe ich durch
Label3.Layout:=tlCenter;
Vertikal zentriert.
Die Label-Felder sind aber weitaus größer wie es hier den Anschein hat. Ersetzen Sie also den bisherigen Quelltext mit folgendem Quelltext.
procedure TForm1.FormActivate(Sender: TObject);
begin
//Setze die breite des Formulars auf 500 Punkte
Form1.Width:=500;
//Label1 und Label2 Horizontal mittig anzeigen
Label1.Alignment:=taCenter;
Label2.Alignment:=taCenter;
//Beschriftungen und Align-Eigenschaften ändern
Label1.Caption:='alTop->Align Oben';
Label1.Align:=alTop;
Label2.Caption:='alBottom->Align Unten';
Label2.Align:=alBottom;
//Beide Texte Vertikal mittig anzeigen
Label3.Layout:=tlCenter;
Label4.Layout:=tlCenter;
//Beschriftungen und Align-Eigenschaften ändern
Label3.Caption:='alLeft->Align Links';
Label3.Align:=alLeft;
Label4.Caption:='alRight->Align Rechts';
Label4.Align:=alRight;
//Die Farben zeigen die Abmaße
Label1.Color := clAqua;
Label2.Color := clFuchsia;
Label3.Color := clLime;
Label4.Color := clYellow;
end;
Die führt zu folgendem Ergebnis:

Mit LabelX.Color steuern wir das Einfärben der Labels. Diese habe ich unter dem Kommentar „Die Farben zeigen die Abmaße“ eingefügt. Die nun eingefärbten Bereiche, zeigen die gesamte Größe, die dann auch auf Maus-Ereignisse reagiert. Selbst wenn wir, wie in dem oberen Beispiel. Als erstes Die Schriften an den Seiten erstellen, so wird alTop und alBottom bevorzugt. Es ergibt sich also das selbe Ergebnis.
Um nun zu zeigen wie wichtig diese Erkenntnis ist, sollten Sie den folgenden Quelltext bei dem OnKlick-Ereignis des Formulars einfügen.
procedure TForm1.FormClick(Sender: TObject);
begin
ShowMessage('Klick auf das Formular.');
end;
Nach dem Start des Programms, sehen Sie wie, dass OnKlick-Ereignis des Formulars nur in der Mitte des Formulars ausgeführt wird. Dieses Verhalten ändert sich auch nicht, wenn Sie die Einfärbung der Labels wieder entfernen. Also die Zeilen mit dem LabelX.Color wieder löschen. Wenn man sich dessen nicht bewusst ist, kann man lange nach dem, angeblichen Fehler suchen, der dieses Ereignis verhindert.
alClient
Bleibt als Align-Eigenschaft noch der Parameter alClient. Ich habe alClient bei einem Label noch nie angewandt. Da es wohl recht unsinnig ist. Es würde dann so wie im folgenden Bild aussehen:
