Autor Beitrag
FinalFantasy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 127

Windows XP
Delphi 5 Professional, Visual Studio 7 .NET (C#)
BeitragVerfasst: Do 08.09.05 13:22 
Hi,

ich generiere mir dynamisch mehrere Buttons. Auch die Caption wird zur Laufzeit festgelegt. Natürlich sollte der komplette Text auf dem Button zu sehen sein.
Die Frage ist nur, wie ermittle ich die Länge der Caption in Pixel, so dass ich die Breite des Buttons entsprechend setzen kann?
TCanvas hat die Methode TextWidth... komm ich dazufällig ran, bzw ist TCanvas irgendwie in TButton enthalten? Hab schon gesucht, aber noch nichts gefunden.
ManuelGS
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 173

Win XP HE, Suse Linux
D6, D7, D2005 Personal
BeitragVerfasst: Do 08.09.05 13:43 
Benutz halt die Form-Canvas:

ausblenden Delphi-Quelltext
1:
button[i].width:=form1.canvas.textwidth(button[i].caption)+20;					

das +20 damit an der Seite der Caption auch ein bisschen Rand ist.

_________________
"Leben ist gänzlich Bühne und Spiel; so lerne denn spielen
und entsage dem Ernst - oder erdulde das Leid." - Palladas von Alexandria
FinalFantasy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 127

Windows XP
Delphi 5 Professional, Visual Studio 7 .NET (C#)
BeitragVerfasst: Do 08.09.05 14:38 
Ok, danke, so gehts