HFONT abspeichern



  • heiho leute

    es geht darum,
    ich hab mein settings dialog wo der user diverse sachen auswaehlen kann - unter anderen ein COLORREF und ein HFONT

    diese einstellungen moechte (muss) ich in eine xml datei abspeichern
    das colorref ist eigentlich kein problem, da speicher ich dann einfach die RGB werte und feddich
    aber wie speicher ich das HFONT ab ?

    jemand ne idee ?

    das font handle bekomm ich indem ich den user ueber das "ChooseFont" eine schriftart auswaehlen lass

    waere ueber alle tipps dankbar

    {=



  • Mittels GetObject() die HFONT-Infos als LOGFONT-Struktur bekommen und diese abspeichern.
    Beim laden kannst du aus der LOGFONT-Struktur via CreateFontIndirect() wieder nen HFONT basteln.



  • ich arbeite schon mit LOGFONT, das bekomm ich beim ChooseFont schon zurueck und mach daraus die HFONT

    aber das LOGFONT hat ja sehr viele parameter, reicht es aus wenn ich den "lpFaceName" abspeicher oder muss ich alle parameter abspeichern ?

    bzw welche parameter brauch ich?

    ich hab wenn ich rumprobier immer 8 parameter gesetzt, find das zum abspeichern n bissl bloed, da es so viel ist, waere praktisch wenn nur der name, schriftgroesse, bold italic
    (4 parameter) ausreichen



  • heiho

    ich hab hier noch meine problemchen

    und zwar will ich

    lfHeight
    lfWeight
    lfItalic
    lfOutPrecision
    lfClipPrecision
    lfQuality
    lfPitchAndFamily
    lfFaceName

    abspeichern in meinen unicode programm mit der UTF-8 XML datei

    mit

    lfHeight
    lfWeight
    klapps problemlos, da es long ist und ich das tstol verwenden kann um ein wstring zu erhalten
    auch das
    lfFaceName
    macht keine probleme, da das eh schon ein normaler string ist

    aber die anderen BYTE variablen machen mir aerger, ich schaff es einfach nicht diese abzuspeichern,
    ich hab schon alle moeglichen konvertierungen rumprobiert, ich bekomm einfach das unsigned char (BYTE) nicht in nem wstring,

    sobald ich die XML speicher ist die datei ploetzlich dort zu ende wo ich die BYTE variablen schreiben will, wenn ich die manuell auf 0 setz gehts,

    dh mein problem ist das convertieren
    BYTE <-> std::wstring

    zu hilf


Anmelden zum Antworten