Fontattribute aus FontID ermitteln

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Fontattribute aus FontID ermitteln

Beitrag von ts-soft »

Ich möchte aus der FontID, die von PB bei LoadFont() zurückgegeben wird,
die Attribute ermitteln. Also Fontnamen, Size usw.
Hat da jemand eine Lösung?
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Macros
Beiträge: 1361
Registriert: 23.12.2005 15:00
Wohnort: Olching(bei FFB)
Kontaktdaten:

Beitrag von Macros »

Ich habe mal rumexperimentiert, aber die Font ID ändert sich immer wieder,
auch wenn man genau die gleichen Parameter gibt.

Ich glaube die Attribute lassen sich nicht auslesen :(
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Ist doch ein OS-Handle, bzw. ein Pointer auf eine OS-Structure
So ungefähr stehts in der Hilfe. Wenn es eine Structure ist, wäre es ja
einfach, ich müßte diese nur kennen!
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
ABBKlaus
Beiträge: 61
Registriert: 15.03.2006 22:09
Wohnort: Ratingen
Kontaktdaten:

Beitrag von ABBKlaus »

Vielleicht hilf dir das ja weiter :allright:

Code: Alles auswählen

LoadFont(1,"Arial",18)

If OpenWindow(0,0,0,222,200,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"Test") And CreateGadgetList(WindowID(0))
  
  DC=GetDC_(WindowID(0))
  UseFont(1)
  SelectObject_(DC,FontID())
  If DC
    If GetTextMetrics_(DC,TM.TEXTMETRIC)
      Debug TM\tmHeight
      Debug TM\tmAscent
      Debug TM\tmDescent
      Debug TM\tmWeight
    EndIf
    Buf$=Space(255)
    If GetTextFace_(DC,255,@Buf$)
      Debug Buf$
    EndIf
  EndIf
  
  Repeat
  Until WaitWindowEvent()=#PB_Event_CloseWindow
EndIf
PureBasicPower TailBite Printer_Lib / PDFBarcode / PrintBarcode / ExcelWriter
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

ABBKlaus hat geschrieben:Vielleicht hilf dir das ja weiter :allright:
Danke, das gesuchte gefunden :allright:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten