Font auf Stringlänge angleichen
Verfasst: 30.10.2014 09:34
Hallo Leute,
möchte das der TEXT immer Horizontal und Vertikal zentriert ist und im optimalen Font dargestellt wird.
Kann jemanden helfen wie das optimaler Läuft?
Gruss ... Velindos
möchte das der TEXT immer Horizontal und Vertikal zentriert ist und im optimalen Font dargestellt wird.
Code: Alles auswählen
#Font_PS_Stichwort = 12
Window_0 = OpenWindow(#PB_Any, 0, 0, 600, 400, "Test von Stringleght", #PB_Window_SystemMenu)
Frame_0 = FrameGadget(#PB_Any, 10, 10, 580, 70, "FELD")
Text_0 = TextGadget(#PB_Any, 20, 20, 560, 50, "",#PB_Text_Center)
String_0 = StringGadget(#PB_Any, 100, 80, 480, 30, "")
Button_0 = ButtonGadget(#PB_Any, 10, 80, 80, 30, "")
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Break
Case #PB_Event_Gadget
Select EventGadget()
Case Button_0 ; Button "Bunt"
StichwortLaenge = Len(GetGadgetText(String_0))
If StichwortLaenge =< 21
SetGadgetFont(Text_0, LoadFont(#Font_PS_Stichwort, "Verdana", 28, #PB_Font_Bold|#PB_Font_HighQuality))
ElseIf StichwortLaenge < 24 And StichwortLaenge > 21
SetGadgetFont(Text_0, LoadFont(#Font_PS_Stichwort, "Verdana", 24, #PB_Font_Bold|#PB_Font_HighQuality))
ElseIf StichwortLaenge > 24 And StichwortLaenge < 30
SetGadgetFont(Text_0, LoadFont(#Font_PS_Stichwort, "Verdana", 20, #PB_Font_Bold|#PB_Font_HighQuality))
ElseIf StichwortLaenge > 30
SetGadgetFont(Text_0, LoadFont(#Font_PS_Stichwort, "Verdana", 18, #PB_Font_Bold|#PB_Font_HighQuality))
EndIf
SetGadgetText(Text_0, GetGadgetText(String_0))
EndSelect
EndSelect
ForEver
End
Gruss ... Velindos