AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TLabel.AutoSize spinnt

Offene Frage von "berens"
Ein Thema von berens · begonnen am 26. Jan 2007 · letzter Beitrag vom 15. Mär 2007
Antwort Antwort
berens

Registriert seit: 3. Sep 2004
431 Beiträge
 
Delphi 2010 Professional
 
#1

TLabel.AutoSize spinnt

  Alt 26. Jan 2007, 12:14
Hallo!

Ich habe das Problem, dass wenn ich von einer Instanz von TLabel die Eigenschaft Caption ändere (wobei AutoSize = True), die Höhe falsch berechnet wird.

Dies äußert sich in sofern, dass bei dem Text oben und unten eine Menge Platz ist (ca. erforderliche Höhe * 3) mit tlCenter oder nur unten eine Menge Platz bei tlTop.

Der Text kann mehrere Zeilen haben, und ist normalerweise mit Align=alTop, der Text ist Linksbündig und Layout ist tlTop oder tlCenter (was allerdings keinen Unterschied bei dem Fehler macht).

Folgendes habe ich bereits probiert, hilft aber nicht:

Delphi-Quellcode:
with Label1 do begin
    Align := alNone;
    Anchors := [];
    AlignWithMargins := False;

    Self.FlblText.AutoSize := true;
    Self.FlblText.AutoSize := false;
    Self.FlblText.AutoSize := true;
    Align := alTop;

    Invalidate;
    Repaint;
    Refresh;
    update;
end;
Wie bringe ich dem das bei?
  Mit Zitat antworten Zitat
berens

Registriert seit: 3. Sep 2004
431 Beiträge
 
Delphi 2010 Professional
 
#2

Re: TLabel.AutoSize spinnt

  Alt 26. Jan 2007, 15:26
Mit

Delphi-Quellcode:
    AutoSize := True;
    WordWrap := False;
klappt es.

Siehe Delphi-Hilfe "TCustomLabel.AdjustBounds Methode".
  Mit Zitat antworten Zitat
berens

Registriert seit: 3. Sep 2004
431 Beiträge
 
Delphi 2010 Professional
 
#3

Re: TLabel.AutoSize spinnt

  Alt 27. Jan 2007, 18:21
Öh, tja, nun wie ich selbst lesen kann klappt es zwar mit Einzeiligen Texten, bei den mehrzeiligen Texten besteht das Problem aber weiterhin. *aufreg*

Irgendwie ansatzweise irgendwer einen Tipp für mich?

Ich brauch ne feste Breite mit Wordwrap und der soll die Höhe korrekt berechnen. Das klappt nicht!

Edit: Ich stelle gerade fest (Keyword: Wordwrap), dass mein Problem hier anknüpft: http://www.delphipraxis.net/internal...light=wordwarp
  Mit Zitat antworten Zitat
berens

Registriert seit: 3. Sep 2004
431 Beiträge
 
Delphi 2010 Professional
 
#4

Re: TLabel.AutoSize spinnt

  Alt 1. Feb 2007, 14:45
Nur zur Info: Mit dem TLMDLaybel von LMD-Tools konnte ich das Problem mit nachträglichenm Befehl CorrectBounds lösen.
  Mit Zitat antworten Zitat
berens

Registriert seit: 3. Sep 2004
431 Beiträge
 
Delphi 2010 Professional
 
#5

Re: TLabel.AutoSize spinnt

  Alt 15. Mär 2007, 18:03
Jetzt hab ich das Problem mit einem Panel / TLMDPanelFill. Leider unterstützt dieses den Befehl CorrectBounds nicht. Wenn man das Fenster jedoch in der Größe ändert / Maximiert ist alles korrekt. Wie kann ich diesen "Maximieren" Befehl, bzw. die "Größe ändern" Nachricht nachstellen?

Edit: Problem ist wohl auch (speziell) die Panels, die in den Panels drinnen sind, geben bei Height einen falschen Wert an! Das Panel ist erwiesenermaßen (z.b. auch mit Clientheight) nur 20px hoch, wird aber mit 50px angegeben. Nach dem besagten vergrößern/verkleinern des Fensters ändert sich dieser Wert...
  Mit Zitat antworten Zitat
Antwort Antwort


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:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz