AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Vertikales Ausrichten eines Textes im LabeledEdit
Thema durchsuchen
Ansicht
Themen-Optionen

Vertikales Ausrichten eines Textes im LabeledEdit

Ein Thema von Kalakmul · begonnen am 12. Jun 2011 · letzter Beitrag vom 14. Jun 2011
 
Benutzerbild von Kalakmul
Kalakmul

Registriert seit: 11. Apr 2008
27 Beiträge
 
Delphi 2010 Professional
 
#2

AW: Vertikales Ausrichten eines Textes im LabeledEdit

  Alt 14. Jun 2011, 16:39
Habe jetzt eine relativ einfache Lösung selbst gefunden:

Könnte man beim SubLabel/EditLabel die Eigenschaft Top auf den gleichen Wert wie beim LabeledEdit setzen, so erschienen die Texte auf gleicher Höhe. Da die Komponente ja transparent sein (bzw. erscheinen = Hintergrundfarbe wie der Parent) soll, fiele es dann nicht auf, dass die Hintergründe beider Teilkomponenten nicht zentriert sind.

Das Problem ist nur, dass bei den Einstellungen, die ich benötige, das EditLabel standardmäßig zentriert zum LabeledEdit steht und dass die Eigenschaft Top direkt nicht geändert werden kann, weder im Objektinspektor noch wie folgt im Quellcode:

lbledt1.EditLabel.Top := lbledt1.Top; // geht nicht!

Beim Versuch, dies zu kompilieren, erscheint die Fehlermeldung:
[DCC Fehler] Unit1.pas(38): E2129 Einer Nur-Lesen Eigenschaft kann kein Wert zugewiesen werden

Wie ich herausgefunden habe, lässt sich aber die Position des EditLabels trotzdem via SetBounds verändern

Hier die Musterlösung:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  // Eigenschaften, die auch im Objektinspektor verändert werden können
  lbledt1.LabelPosition := lpLeft;
  lbledt1.BorderStyle := bsNone;
  lbledt1.Color := clBtnFace; // bzw. Hintergrundfarbe des Parents
  lbledt1.EditLabel.Caption := 'Eingabe:';
  lbledt1.Text := 'Beispieltext';
  // Here comes the magic!
  with lbledt1.EditLabel do
  begin
    SetBounds(Left, lbledt1.Top, Width, Height);
  end;
end;
Vielleicht kann diese Lösung auch anderen nützlich sein.
Wer fragt, ist ein Narr für 5 Minuten, wer nicht fragt, ist ein Narr ein Leben lang.

Geändert von Kalakmul (14. Jun 2011 um 16:53 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz