moin, moin...
Das hat mich nich in Ruhe gelassen, da hab ich mein Englisch mal zusammengekratzt, im englischen Forum nachgefragt und glaube daraus Folgendes gelernt zu haben:
Code: Alles auswählen
;works with PB 4.00 beta 2
Procedure.s getsysfontname(hWnd)
Protected fnt.l,fntName$,fntWeight.l,fntHeight.l,fntStyle.l,fntInfo.LOGFONT
Protected result.l
fnt.l = SendMessage_(hWnd, #WM_GETFONT, 0, 0)
If fnt
GetObject_(fnt, SizeOf(LOGFONT), @fntInfo)
fntName$ = PeekS(@fntInfo\lfFacename)
result$=fntName$
EndIf
ProcedureReturn result$
EndProcedure
Procedure getsysfontheight(hWnd)
Protected fnt.l,fntName$,fntWeight.l,fntHeight.l,fntStyle.l,fntInfo.LOGFONT
Protected result.l
fnt.l = SendMessage_(hWnd, #WM_GETFONT, 0, 0)
If fnt
GetObject_(fnt, SizeOf(LOGFONT), @fntInfo)
fntHeight.l = Round(-fntInfo\lfHeight*72/GetDeviceCaps_(GetDC_(hWnd),#LOGPIXELSY),1)
result=fntHeight.l
EndIf
ProcedureReturn result
EndProcedure
If OpenWindow(0,0,0,322,275,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"StringGadget Flags") And CreateGadgetList(WindowID(0))
StringGadget(0,8,10,306,20,"Normal...")
sys_fontID=LoadFont(2, getsysfontname(GadgetID(0)), getsysfontheight(GadgetID(0)), #PB_Font_Bold)
Debug getsysfontname(GadgetID(0))
Debug getsysfontheight(GadgetID(0))
StringGadget (1,8,35,306,20,"ROT")
SetGadgetColor(1, #PB_Gadget_FrontColor,$0000ff)
StringGadget (2,8,60,306,20, "BOLD")
SetGadgetFont (2,sys_fontID)
StringGadget (3,8,85,306,20, "ROT und BOLD")
SetGadgetColor(3, #PB_Gadget_FrontColor,$0000ff)
SetGadgetFont (3,sys_fontID)
Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow
EndIf
Sieht vielleicht nicht schön aus, läuft aber bei mir unter 400.b2 und benutzt den System_Font.
Dabei würd mich allerdings mal interessieren, wo ich unter W98 oder WXP diesen Font einsehen/festlegen kann.
Ist das nach Deinem Geschmack ?
gespannt...
scholly