Hallo,
brauche Hilfe! Wie komme ich an die installierten Schriftarten unter Windows um Sie für Stringgadget und Editorgadget getrennt einzustellen, wegen der Überschrift und so?
Gruss ... Velindos
Windows installierte Schriftarten auswählen
Windows installierte Schriftarten auswählen
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.71 LTS (32/64-Bit)
Re: Windows installierte Schriftarten auswählen
FontRequester()?
Oder selber manuell auflisten?
Oder selber manuell auflisten?
Code: Alles auswählen
EnableExplicit
Procedure EnumFontFamProc(*lpelf.ENUMLOGFONT, *lpntm.NEWTEXTMETRIC, FontType, lParam)
AddGadgetItem(1,-1,PeekS(@*lpelf\elfLogFont\lfFaceName[0]),0,0)
ProcedureReturn 1
EndProcedure
Procedure SysInfo_Fonts()
EnumFontFamilies_(GetDC_(GetDesktopWindow_()),0,@EnumFontFamProc(),0)
ReleaseDC_(GetDesktopWindow_(),GetDC_(GetDesktopWindow_()))
EndProcedure
If OpenWindow(0,0,0,500,250,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
ListViewGadget(1,10,10,480,230,0)
SysInfo_Fonts()
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Re: Windows installierte Schriftarten auswählen
Hallo RSBasic!
Das geht ja flux, also Danke für deinen raschen Vorschlag. Hab natürlich mein Beispiel vergessen. Hab keine Ahnung wie ich die Schrifart und Grösse getrennt einstellen kann:
Dein Beispiel ist Supi, habe es eingearbeitet, wie komme ich an die Grösse der in Windows verwendeten Schriften bzw. muss man die selbst festlegen?
Gruss ... Velindos
Das geht ja flux, also Danke für deinen raschen Vorschlag. Hab natürlich mein Beispiel vergessen. Hab keine Ahnung wie ich die Schrifart und Grösse getrennt einstellen kann:
Code: Alles auswählen
; Windows installierte Schriftarten auswählen
; wie kriege ich ins zweite Schriftfeld
Enumeration
#FrameMain
EndEnumeration
;-Constant
Enumeration
#S_Anzeige
#S_Notiz
#SchriftAnzeige
#Font_Anzeige
#Font_AnzeigeButton
#Font_NotizButton
#Grad_Anzeige
#SchriftNotiz
#Font_Notiz
#Grad_Notiz
#Font_Window
EndEnumeration
Global FontID1
Global FontID2
Enumeration
#Font_String_1
#Font_String_2
EndEnumeration
Procedure EnumFontFamProc(*lpelf.ENUMLOGFONT, *lpntm.NEWTEXTMETRIC, FontType, lParam)
AddGadgetItem(#Font_Anzeige,-1,PeekS(@*lpelf\elfLogFont\lfFaceName[0]),0,0)
ProcedureReturn #Font_Anzeige
EndProcedure
Procedure SysInfo_Fonts()
EnumFontFamilies_(GetDC_(GetDesktopWindow_()),0,@EnumFontFamProc(),0)
ReleaseDC_(GetDesktopWindow_(),GetDC_(GetDesktopWindow_()))
EndProcedure
If OpenWindow(#FrameMain,683, 0,620, 600,"Schriften Einstellen",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
StringGadget(#S_Anzeige,10,20,600,40,"Meine Überschrift")
EditorGadget(#S_Notiz,10,80,600,200)
AddGadgetItem(#S_Notiz, -1,"Mein Text vom "+FormatDate("%dd.%mm.%yyyy", Date())+Chr(13))
TextGadget(#SchriftAnzeige,10, 300, 195, 20,"Schrift Anzeige")
ComboBoxGadget(#Font_Anzeige, 95, 300, 195, 20)
ComboBoxGadget(#Grad_Anzeige, 305, 300, 50, 20)
AddGadgetItem(#Grad_Anzeige, -1, "12")
AddGadgetItem(#Grad_Anzeige, -1, "16")
AddGadgetItem(#Grad_Anzeige, -1, "24")
AddGadgetItem(#Grad_Anzeige, -1, "32")
AddGadgetItem(#Grad_Anzeige, -1, "48")
AddGadgetItem(#Grad_Anzeige, -1, "58")
AddGadgetItem(#Grad_Anzeige, -1, "76")
ButtonGadget(#Font_AnzeigeButton,360,300,100,20,"font Überschrift")
ButtonGadget(#Font_NotizButton,465,300,100,20,"font Notiz")
TextGadget(#SchriftNotiz,10, 330, 195, 20,"Schrift Notiz")
ComboBoxGadget(#Font_Notiz, 95, 330, 195, 20)
ComboBoxGadget(#Grad_Notiz, 305, 330, 50, 20)
ListViewGadget(#Font_Window,95,360,480,230,0)
EndIf
SysInfo_Fonts()
;AddGadgetItem(#Font_Anzeige, -1,"ComboBox item ")
Repeat
EventID=WaitWindowEvent()
Select EventID
Case #PB_Event_CloseWindow
Break
Case #PB_Event_Gadget
Gadget = EventGadget()
Select Gadget
Case #Font_AnzeigeButton
Schriftart$=GetGadgetText(#Font_Anzeige)
Schriftgrad=Val(GetGadgetText(#Grad_Anzeige))
FontID1 = LoadFont(#Font_String_1, Schriftart$, Schriftgrad, #PB_Font_Bold|#PB_Font_HighQuality)
SetGadgetFont(#S_Anzeige, FontID1)
Case #Font_NotizButton
Schriftart$=GetGadgetText(#Font_Anzeige)
Schriftgrad=Val(GetGadgetText(#Grad_Anzeige))
FontID2 = LoadFont(#Font_String_2, Schriftart$, Schriftgrad, #PB_Font_Bold|#PB_Font_HighQuality)
SetGadgetFont(#S_Notiz, FontID2)
EndSelect
EndSelect
ForEver
Gruss ... Velindos
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.71 LTS (32/64-Bit)