Einzelnen Beitrag anzeigen

Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#90
  Alt 25. Apr 2003, 09:53
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.
Gruß
Hansa
  Mit Zitat antworten Zitat