Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Delphi Firemonkey TEdit mit Autosize? (https://www.delphipraxis.net/183141-firemonkey-tedit-mit-autosize.html)

Mavarik 16. Dez 2014 09:56

AW: Firemonkey TEdit mit Autosize?
 
Zitat:

Zitat von stahli (Beitrag 1283575)
versteckten Controls

Sind keine Lösung, sondern bestenfalls ein Workaround

stahli 16. Dez 2014 10:40

AW: Firemonkey TEdit mit Autosize?
 
[Philosophiemodus]
Manchmal (und nicht selten bei FMX) ist ein Workaround die einzige Lösung.
[/Philosophiemodus]

Darlo 16. Dez 2014 10:52

AW: Firemonkey TEdit mit Autosize?
 
Zitat:

Zitat von stahli (Beitrag 1283596)
[Philosophiemodus]
Manchmal (und nicht selten bei FMX) ist ein Workaround die einzige Lösung.
[/Philosophiemodus]

+1, sehe ich ebenso

Mavarik 6. Jan 2015 11:38

AW: Firemonkey TEdit mit Autosize?
 
Soderle...

Hätte man auch finden können...
Der Trick ist:

Delphi-Quellcode:
var
  TextLayout : TTextLayout;
...

begin
  TextLayout := TTextLayoutManager.DefaultTextLayout.Create; // ImCreate
 
  FreeAndNil(TextLayout); // Im destroy
end;
und ein bisschen Init..

Delphi-Quellcode:
procedure InitTextLayout;
begin
  TextLayout.MaxSize := TPointF.Create(1000,1000);//TextObject.Width, TextObject.Height);
  TextLayout.HorizontalAlign := TTextAlign.Leading;
  TextLayout.VerticalAlign := ResultingTextSettings.VertAlign;
  TextLayout.Font := ResultingTextSettings.Font;
end;
und schon geht

Delphi-Quellcode:
function TextWidth(const AText: String): Single;
begin
  TextLayout.Text := AText;
  Result := TextLayout.TextRect.Width;
end;
Normalerweise TextObject.X aber meine Ableitung hat kein Textobject daher 1000,1000

Grüsse Mavarik


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:36 Uhr.
Seite 2 von 2     12   

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