Seite 1 von 1

Courierschrift im EditorGadget

Verfasst: 24.07.2006 14:58
von Eckhard.S
Wie bekomme ich in ein EditorGardet eine Courierschrift? Was ändert isich im Code? Wo kann ich das nachlesen, denn in der Hilfe ist es nicht angegeben?

Code: Alles auswählen

If OpenWindow(0, 0, 0, 322, 150, "EditorGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0)) 
    EditorGadget(0, 8, 8, 306, 133) 
    For a = 0 To 5 
      AddGadgetItem(0, a, "Line "+Str(a)) 
    Next 
    Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow 
  EndIf 

Verfasst: 24.07.2006 15:03
von bobobo
Sowas findet Du sehr wohl in der Hilfe bei den GADGETs

Code: Alles auswählen

;PB4
LoadFont(0,"COURIER NEW",10)  ;<--
If OpenWindow(0, 0, 0, 322, 150, "EditorGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0)) 
  EditorGadget(0, 8, 8, 306, 133) 
  SetGadgetFont(0,FontID(0))  ;<---
  For a = 0 To 5 
    AddGadgetItem(0, a, "Line "+Str(a)) 
  Next 
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow 
EndIf 

Verfasst: 24.07.2006 15:09
von ts-soft

Code: Alles auswählen

Procedure Editor_Font(Gadget, FontName.s, Flag = 0)
  ; Flags: Gesamten Text = 0 oder Selektieren Text = 1
  Protected format.CHARFORMAT
  With format
    \cbSize = SizeOf(CHARFORMAT)
    \dwMask = #CFM_FACE
    \szFaceName = @FontName
  EndWith
  ProcedureReturn SendMessage_(GadgetID(Gadget), #EM_SETCHARFORMAT, Flag, @format)
EndProcedure

Editor_Font(Gadget, "Courier")
Weitere Infos in der Windows API-Hilfe (MSDN, PSDK usw.)

// Nachtrag: BoBoBos Variante ist natürlich einfacher :wink:

Verfasst: 24.07.2006 15:14
von Eckhard.S
Merci!

Unter Gadget ist das aber nicht zu finden, sondern unter Font. Muss man halt wissen, dass es kein Flag von Gadget ist, sondern vorher umgeschaltet wird. Jetzt weiß ich`s. Merci :-)))

Verfasst: 24.07.2006 15:41
von bobobo
[klugscheiss]
ich finde SetGadgetFont() aber bei den GadgetBefehlen in der Hilfe
(PB4)
[/klugscheiss]

Verfasst: 24.07.2006 16:14
von Eckhard.S
Stimmt!