Aktuelle Zeit: 11.07.2020 00:00

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Forumsregeln


Die Forumsregeln lesen



Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Anzeigeproblem mit der 5.72 LTS X64
BeitragVerfasst: 31.03.2020 16:06 
Offline
Benutzeravatar

Registriert: 07.09.2004 12:52
Wohnort: Münsterland
Hallo, nach dem Wechsel von 5.71 LTS x64 nach 5.72 LTS x64 hat sich folgender Fehler gezeigt:

Bild

Bei der Version 5.71 so es noch so aus:

Bild

So soll es auch aussehen, natürlich bei gleichem Quellcode!

Kann das jemand bestätigen bzw. Fred melden!

Reinhard


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Anzeigeproblem mit der 5.72 LTS X64
BeitragVerfasst: 31.03.2020 16:26 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
So weit ich weiss wurde auf den neuen Standard Zeichensatz von Windows umgestellt

Mit SetGadgetFont(#PB_Default, FontID) an Anfang kannst/must du den passenden Font laden.

Mal im englischen Forum suchen

_________________
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul / OPC-Helper DLL
PB v3.30 / v5.4x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf My Webspace


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Anzeigeproblem mit der 5.72 LTS X64
BeitragVerfasst: 01.04.2020 20:41 
Offline
Benutzeravatar

Registriert: 07.09.2004 12:52
Wohnort: Münsterland
Hallo, leider bringt das nicht den gewünschten Erfolg.

Leider ist mein Englisch zu schlecht für das Englische Forum.

Bleibe ich halt erstmal bei der älteren Version.

Reinhard


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Anzeigeproblem mit der 5.72 LTS X64
BeitragVerfasst: 01.04.2020 23:06 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
Etwas gefunden...
Code:
;-TOP
; http://www.purebasic.fr/german/viewtopic.php?t=13491&start=5

Procedure.s GetFontNameFromGadget(gadget)
  Protected *otm.OUTLINETEXTMETRIC
  Protected bsize.l,Font.l,hWnd.l
  Protected FontName.s
 
  hWnd  =  GadgetID(gadget)
 
  Font  = GetGadgetFont(gadget)
  hdc   = GetDC_(hWnd)
  Font  = SelectObject_(hdc,Font)
  bsize = GetOutlineTextMetrics_(hdc,0,0)
 
  If bsize = 0
    SelectObject_(hdc,Font)
    ReleaseDC_(hWnd,hdc)
    ProcedureReturn
  EndIf
 
  *otm = AllocateMemory(bsize)
 
  *otm\otmSize = bsize
 
  GetOutlineTextMetrics_(hdc,bsize,*otm)
  FontName = PeekS(*otm+*otm\otmpFamilyName)
 
  FreeMemory(*otm)
  SelectObject_(hdc,Font)
  ReleaseDC_(hWnd,hdc)

  ProcedureReturn FontName
EndProcedure

Procedure.s GetFontStyleFromGadget(gadget)
  Protected *otm.OUTLINETEXTMETRIC
  Protected bsize.l,Font.l,hWnd.l
  Protected FontStyle.s
 
  hWnd  =  GadgetID(gadget)
 
  Font  = GetGadgetFont(gadget)
  hdc   = GetDC_(hWnd)
  Font  = SelectObject_(hdc,Font)
  bsize = GetOutlineTextMetrics_(hdc,0,0)
 
  If bsize = 0
    SelectObject_(hdc,Font)
    ReleaseDC_(hWnd,hdc)
    ProcedureReturn
  EndIf
 
  *otm = AllocateMemory(bsize)
 
  *otm\otmSize = bsize
 
  GetOutlineTextMetrics_(hdc,bsize,*otm)

  FontStyle = PeekS(*otm+*otm\otmpStyleName)
 
  FreeMemory(*otm)
  SelectObject_(hdc,Font)
  ReleaseDC_(hWnd,hdc)

  ProcedureReturn FontStyle
EndProcedure

Procedure.l GetFontSizeFromGadget(gadget)
  Protected *otm.OUTLINETEXTMETRIC
  Protected bsize.l,Font.l,hWnd.l
  Protected FontSize.l , val.f
 
  hWnd  =  GadgetID(gadget)
 
  Font  = GetGadgetFont(gadget)
  hdc   = GetDC_(hWnd)
  Font  = SelectObject_(hdc,Font)
  bsize = GetOutlineTextMetrics_(hdc,0,0)
 
  If bsize = 0
    SelectObject_(hdc,Font)
    ReleaseDC_(hWnd,hdc)
    ProcedureReturn
  EndIf
 
  *otm = AllocateMemory(bsize)
 
  *otm\otmSize = bsize
 
  GetOutlineTextMetrics_(hdc,bsize,*otm)

  val.f = (*otm\otmTextMetrics\tmHeight-*otm\otmTextMetrics\tmInternalLeading)
  FontSize = Int(Round((val * 72 / GetDeviceCaps_(hdc,#LOGPIXELSY)),1))
 
  FreeMemory(*otm)
  SelectObject_(hdc,Font)
  ReleaseDC_(hWnd,hdc)

  ProcedureReturn FontSize
EndProcedure

;-TOP

Enumeration Windows
  #Main
EndEnumeration

Enumeration Gadgets
 
EndEnumeration

Enumeration Status
  #MainStatusBar
EndEnumeration

Global FontPB_V570 = LoadFont(#PB_Any, "Microsoft Sans Serif", 9)
SetGadgetFont(#PB_Default, FontID(FontPB_V570))

Procedure Main()
 
  If OpenWindow(#Main, #PB_Ignore, #PB_Ignore, 800, 600, "Window" , #PB_Window_SystemMenu)
    ButtonGadget(0, 10, 10, 120, 25, "Default")
   
    Info$ + "Font name: " + GetFontNameFromGadget(i) + #CR$
    Info$ + "Font style: " + GetFontStyleFromGadget(i) + #CR$
    Info$ + "Font size: " + Str(GetFontSizeFromGadget(i)) + #CR$ + #CR$
   
    Debug Info$
   
    Repeat
      Select WaitWindowEvent()
        Case #PB_Event_CloseWindow
          Break
      EndSelect
    ForEver
   
  EndIf
 
EndProcedure : Main()

_________________
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul / OPC-Helper DLL
PB v3.30 / v5.4x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf My Webspace


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Anzeigeproblem mit der 5.72 LTS X64
BeitragVerfasst: 02.04.2020 12:19 
Offline
Benutzeravatar

Registriert: 01.04.2007 20:18
Zitat:
FontSize = Int(Round((val * 72 / GetDeviceCaps_(hdc,#LOGPIXELSY)),1))


Kann es sein, das das nicht mehr "up-to-date" ist... ?
Ich schätze mal, dass man hier die eingestellten DPI als Berechnungsparameter braucht... ?!

Nur eine Frage...

_________________
PureBasic 5.72 LTS (Windows x86/x64) | Windows10 Pro x64 | Z370 Extreme4 | i7 8770k | 32GB RAM | iChill GeForce RTX 2080 Super | HAF XF Evo​​


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Anzeigeproblem mit der 5.72 LTS X64
BeitragVerfasst: 02.04.2020 19:34 
Offline
Benutzeravatar

Registriert: 07.09.2004 12:52
Wohnort: Münsterland
mk-soft hat geschrieben:
So weit ich weiss wurde auf den neuen Standard Zeichensatz von Windows umgestellt

Mit SetGadgetFont(#PB_Default, FontID) an Anfang kannst/must du den passenden Font laden.

Mal im englischen Forum suchen


Hi, kann man den irgendwie herausbekommen, welche Schriftart dort gewechselt wurde?

Reinhard


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Anzeigeproblem mit der 5.72 LTS X64
BeitragVerfasst: 02.04.2020 23:25 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
Siehe ... Etwas funden ...

_________________
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul / OPC-Helper DLL
PB v3.30 / v5.4x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf My Webspace


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Anzeigeproblem mit der 5.72 LTS X64
BeitragVerfasst: 25.04.2020 22:23 
Offline
Benutzeravatar

Registriert: 07.09.2004 12:52
Wohnort: Münsterland
mk-soft hat geschrieben:
Siehe ... Etwas funden ...

Hallo, sorry für die späte Antwort.

Dein Hinweis hat mir geholfen.

Danke nochmal.

Reinhard


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye