CreateFontIndirect



  • Hallo

    Hab probleme mit CreateFontIndirect. der erzeuge font ist immer viel zu klein, denk ich mal.

    der struktur LOGFONT uebergebe ich den facename und den height-wert. rest ist auf null.

    windows schriftskalierung ist bei 100%, also normal.
    so sieht es aus bei height-wert -10: http://komports.de/minus10.png
    so sieht es aus bei 10: http://komports.de/plus10.png
    schrift ist courier new
    also der text im test fenster

    zum verlgeich im hintergrund von visual C++, da ist schriftgrad 10 eingestellt

    denk ich da falsch ? ist das normal ?
    oder hab ich da nen fehler ?

    Meep Meep



  • Meep Meep schrieb:

    Der struktur LOGFONT uebergebe ich den facename und den height-wert. rest ist auf null. windows schriftskalierung ist bei 100%, also normal.

    Wenn man das MSDN Beispiel "Creating a Logical Font" mit VS startet und sich mit dem Debugger den Wert
    lfHeight ansieht nachdem man "Courier New" mit Schriftgröße 10 ausgewählt hat, kommt -13 als Wert raus.


  • Mod

    Schau Dir mal die Implementierung von CFont::CreatePointFont in der MFC an.

    Du musst die DPIs der aktuellen Ansicht auch in betracht ziehen.



  • @Meep Meep :
    Hast Du schonmal MulDiv versucht? Hier ein paar Infos...

    INFO: Calculating The Logical Height and Point Size of a Font
    https://support.microsoft.com/en-us/kb/74299


Log in to reply