Seite 1 von 1
Loadfont wechseln
Verfasst: 04.04.2011 19:28
von PB42
Hallo,
wie wechselt man für das TextGadget(X) den Loadfont? Es kann doch nicht sein, daß der zuerst gewählte Loadfont zum Verrecken nicht zu änern ist, sodaß man im gesamten Programm für das Gadget(X) immer nur eine einzige Schriftgröße verwenden kann!
Das Schema
Code: Alles auswählen
LoadFont(1,"arial",14)
SetGadgetFont(#PB_Default,FontID(1))
SetGadgetText(X,"blabla")
und dann später für einen längeren Text
Code: Alles auswählen
LoadFont(2,"arial",10)
SetGadgetFont(#PB_Default,FontID(2))
SetGadgetText(X,"blabla")
Die Schriftgröße
bleibt groß. Wie ändert man das? Danke.
Re: Loadfont wechseln
Verfasst: 04.04.2011 19:42
von RSBasic
Also bei mir funktioniert es:
Code: Alles auswählen
EnableExplicit
Define EventID
If OpenWindow(0,0,0,500,400,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
TextGadget(1,10,10,100,20,"Text",0)
LoadFont(1,"arial",12)
SetGadgetFont(1,FontID(1))
SetGadgetText(1,"blabla")
LoadFont(2,"arial",6)
SetGadgetFont(1,FontID(2))
SetGadgetText(1,"blabla")
Repeat
EventID=WaitWindowEvent()
If EventID = #PB_Event_CloseWindow
End
EndIf
ForEver
EndIf
Oder habe ich dich falsch verstanden?
Re: Loadfont wechseln
Verfasst: 04.04.2011 20:08
von PB42
Ich wollte die Schriftgröße innerhalb der Repeatschleife ändern und das geht vielleicht wirklich nicht. Mittlerweile will ich allerdings das eigentliche Problem, was dahintersteckt, anders lösen, sodaß ich die verschiedenen Schriftgrößen gar nicht mehr brauche. Danke nochmals.
Re: Loadfont wechseln
Verfasst: 04.04.2011 20:13
von RSBasic
Du willst also deine alte, geladene Schriftart überschreiben?
Das kannst du ja machen, indem du die gleiche FontID benutzt.
Dann hast du immer nur eine geladene Schriftart, die du immerwieder verwenden kannst.
Andernfalls kannst du eine geladene Schriftart auch wieder freigeben und zwar mit: FreeFont()
Re: Loadfont wechseln
Verfasst: 04.04.2011 20:13
von TomS
Geht doch!
Code: Alles auswählen
EnableExplicit
Define EventID
If OpenWindow(0,0,0,500,400,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
TextGadget(1,10,10,100,20,"Text",0)
ButtonGadget(2, 400,0,100,30,"ChangeFont")
LoadFont(1,"arial",12)
SetGadgetFont(1,FontID(1))
SetGadgetText(1,"blabla")
LoadFont(2,"arial",6)
Repeat
EventID=WaitWindowEvent()
If EventID = #PB_Event_CloseWindow
End
ElseIf EventID = #PB_Event_Gadget
If EventGadget() = 2
SetGadgetFont(1,FontID(2))
EndIf
EndIf
ForEver
EndIf
Re: Loadfont wechseln
Verfasst: 04.04.2011 20:38
von PB42
@RSBasic
Manchmal steht man echt auf dem Schlauch. Werde mir merken, wie's geht. Danke, auch bei TomS.
Re: Loadfont wechseln
Verfasst: 05.04.2011 00:53
von CSHW89
Du hattest übrigens im ersten Post
verwendet. Da hätte aber statt #PB_Default die Gadget-ID-Nummer stehen müssen, also
Dann hätte es auch funktioniert. #PB_Default ändert den Font für alle Gadget's die
nach diesem Aufruf erstellt werden.
lg kevin