So ist das Label auch rechts und links in der Höhe zentriert zum Edit ausgerichtet (das dient dazu, den Höhenunterschied zwischen Edit und label auszugleichen / anzupassen):
Code:
procedure TLabeledRealEdit.SetLabelPos;
begin
if not Assigned(FLabel) then
Exit;
case FLabelAlignment of
lpAbove :
begin
FLabel.Top := Top - FLabel.Height - FLabelDistance;
FLabel.Left := Left;
if FLabelOptions.AutoEditSize then
FLabel.Width := Width;
end;
lpLeft :
begin
FLabel.Top := Top + ((Height - FLabel.Height) div 2);
FLabel.Left := Left - Flabel.Width - FLabelDistance;
if FLabelOptions.AutoEditSize then
FLabel.Height := Height;
end;
lpRight :
begin
FLabel.Top := Top + ((Height - FLabel.Height) div 2);
FLabel.Left := Left + Width + FLabelDistance;
if FLabelOptions.AutoEditSize then
FLabel.Height := Height;
end;
lpBelow :
begin
FLabel.Top := Top + Height + FLabelDistance;
FLabel.Left := Left;
if FLabelOptions.AutoEditSize then
FLabel.Width := Width;
end;
end;
end;
Was mir aber an dem Ding noch nicht gefällt, ist die Tatsache, daß bei mehreren dieser Komponenten, die untereinander stehen, der linke Rand zerfranst. Besser wäre es, man hätte die Option, z.B. MaxLabelLänge und würde die entsprechenden Label rechts mit blanks auffüllen, so daß das ganze bündig wird. Leider kann ich jetzt nicht mehr am Thema bleiben.