Font ändern über Requester

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Velindos
Beiträge: 598
Registriert: 15.11.2010 10:56

Font ändern über Requester

Beitrag von Velindos »

Hallo Leute,

wähle italic und wird nicht übernommen.
Auch zwei Para´s übernimmt er nicht!

Code: Alles auswählen

; ----------------------
; FONT ÄNDERN über REQUESTER
; ----------------------

Global Hwnd
Global Rt_Btn_Fontrequeter
Global Rt_Gadget_FontText

Global Rt_Req_Font_Name$  = "Arial"
Global Rt_Req_Font_Size   = 10 
Global Rt_Req_Font_Color  = $0045FF
Global Rt_Req_Back_Color  = $FFFFFF
Global Rt_DrawingFont_Requester = LoadFont(#PB_Any, Rt_Req_Font_Name$, Rt_Req_Font_Size)

Procedure Rt_Requester_Font_Wahl()
  Protected Rt_Req_Font_Result 
  ; ----------------------------------------
  Rt_Req_Font_Result = FontRequester(Rt_Req_Font_Name$, Rt_Req_Font_Size, #PB_FontRequester_Effects, Rt_Req_Font_Color)
  ; ----------------------------------------
  If Rt_Req_Font_Result
    ; ----------------------------------------
    If IsFont(Rt_DrawingFont_Requester) : FreeFont(Rt_DrawingFont_Requester): EndIf
    ; ----------------------------------------
    Rt_Req_Font_Name$ = SelectedFontName()
    Rt_Req_Font_Size  = SelectedFontSize()
    Rt_Req_Font_Color = SelectedFontColor()
    ; ----------------------------------------
    Rt_DrawingFont_Requester = LoadFont(#PB_Any, Rt_Req_Font_Name$, Rt_Req_Font_Size,
                              SelectedFontStyle() & #PB_Font_Bold|
                              SelectedFontStyle() & #PB_Font_Italic|
                              SelectedFontStyle() & #PB_Font_Underline|
                              SelectedFontStyle() & #PB_Font_StrikeOut|
                              #PB_Font_HighQuality )
    ; ----------------------------------------
    SetGadgetFont(Rt_Gadget_FontText,FontID(Rt_DrawingFont_Requester))
   SetGadgetColor(Rt_Gadget_FontText, #PB_Gadget_FrontColor, Rt_Req_Font_Color)
  SetGadgetColor(Rt_Gadget_FontText, #PB_Gadget_BackColor, Rt_Req_Back_Color)
 EndIf
  ; ----------------------------------------
EndProcedure

;{ Window
Hwnd = OpenWindow(#PB_Any, 0, 0, 300, 200, "FONT ÄNDERN über REQUESTER", #PB_Window_ScreenCentered | #PB_Window_SystemMenu)
Rt_Btn_Fontrequeter = ButtonGadget(#PB_Any, 10,150, 100, 20, "Font ändern")
Rt_Gadget_FontText = TextGadget(#PB_Any, 10,10, 280, 140, "Beispieltext")
SetGadgetFont(Rt_Gadget_FontText, FontID(Rt_DrawingFont_Requester))

;}

Repeat
  Event = WaitWindowEvent()
  Select Event
    Case #PB_Event_Gadget
      ;{ GADGET
      Select EventGadget()
          
        Case Rt_Btn_Fontrequeter
          Rt_Requester_Font_Wahl()
      EndSelect
  EndSelect
Until Event = #PB_Event_CloseWindow
Gruss ... Velindos!
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.71 LTS (32/64-Bit)
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: FONT ÄNDERN über REQUESTER

Beitrag von RSBasic »

So geht es:

Code: Alles auswählen

; ----------------------
; FONT ÄNDERN über REQUESTER
; ----------------------

Global Hwnd
Global Rt_Btn_Fontrequeter
Global Rt_Gadget_FontText

Global Rt_Req_Font_Name$  = "Arial"
Global Rt_Req_Font_Size   = 10
Global Rt_Req_Font_Color  = $0045FF
Global Rt_Req_Back_Color  = $FFFFFF
Global Rt_Req_Font_Style  = 0
Global Rt_DrawingFont_Requester = LoadFont(#PB_Any, Rt_Req_Font_Name$, Rt_Req_Font_Size)

Procedure Rt_Requester_Font_Wahl()
  Protected Rt_Req_Font_Result
  ; ----------------------------------------
  Rt_Req_Font_Result = FontRequester(Rt_Req_Font_Name$, Rt_Req_Font_Size, #PB_FontRequester_Effects, Rt_Req_Font_Color)
  ; ----------------------------------------
  If Rt_Req_Font_Result
    ; ----------------------------------------
    If IsFont(Rt_DrawingFont_Requester) : FreeFont(Rt_DrawingFont_Requester): EndIf
    ; ----------------------------------------
    Rt_Req_Font_Name$ = SelectedFontName()
    Rt_Req_Font_Size  = SelectedFontSize()
    Rt_Req_Font_Color = SelectedFontColor()
    Rt_Req_Font_Style = SelectedFontStyle()
    ; ----------------------------------------
    Rt_DrawingFont_Requester = LoadFont(#PB_Any, Rt_Req_Font_Name$, Rt_Req_Font_Size, Rt_Req_Font_Style)
    ; ----------------------------------------
    SetGadgetFont(Rt_Gadget_FontText,FontID(Rt_DrawingFont_Requester))
   SetGadgetColor(Rt_Gadget_FontText, #PB_Gadget_FrontColor, Rt_Req_Font_Color)
  SetGadgetColor(Rt_Gadget_FontText, #PB_Gadget_BackColor, Rt_Req_Back_Color)
 EndIf
  ; ----------------------------------------
EndProcedure

;{ Window
Hwnd = OpenWindow(#PB_Any, 0, 0, 300, 200, "FONT ÄNDERN über REQUESTER", #PB_Window_ScreenCentered | #PB_Window_SystemMenu)
Rt_Btn_Fontrequeter = ButtonGadget(#PB_Any, 10,150, 100, 20, "Font ändern")
Rt_Gadget_FontText = TextGadget(#PB_Any, 10,10, 280, 140, "Beispieltext")
SetGadgetFont(Rt_Gadget_FontText, FontID(Rt_DrawingFont_Requester))

;}

Repeat
  Event = WaitWindowEvent()
  Select Event
    Case #PB_Event_Gadget
      ;{ GADGET
      Select EventGadget()
         
        Case Rt_Btn_Fontrequeter
          Rt_Requester_Font_Wahl()
      EndSelect
  EndSelect
Until Event = #PB_Event_CloseWindow
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Velindos
Beiträge: 598
Registriert: 15.11.2010 10:56

Re: Font ändern über Requester

Beitrag von Velindos »

Hallo RSBasic,

Danke, habe ich nicht gewusst! Funzt!

Gruss ... Velindos!
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.71 LTS (32/64-Bit)
Antworten