SelectObject() und Font



  • Hi,
    ich wollte gerade mal eine andere Schriftart zum anzeigen benutzen.
    Den Font hatte ich über

    hFont = CreateFont(0, 0, 0, 0, FW_DONTCARE, FALSE, FALSE, FALSE, 
            ANSI_CHARSET, OUT_TT_PRECIS, CLIP_TT_ALWAYS, 
            DEFAULT_QUALITY, FF_DONTCARE, "Times New Roman");
    
        if(hFont == NULL)
            return 1;
    

    erzeugt, er soll auch gültig sein, nur dann bei SelectObject(hdc, hFont); ist er es nicht mehr. 😞

    Muss ich da noch irgendwat anderes machen?



  • Original erstellt von HolyMetaler:
    hFont = CreateFont(0, 0, 0, 0, FW_DONTCARE, FALSE, FALSE, FALSE,

    Ich vermute mal ganz dreist, dass du da nicht viel sehen wirst 😃
    Schau doch mal in deiner Referenz nach, welcher Parameter was und wofür ist 😉



  • Such mal ein wenig im Forum nach dem Stichwort "SetFont". Gerade neulich habe ich hier eine Funktion angegeben, mit der man auf einfache Art und Weise ein Font createn kann.



  • Original erstellt von sarfuan:
    [quote]Original erstellt von HolyMetaler:
    hFont = CreateFont(0, 0, 0, 0, FW_DONTCARE, FALSE, FALSE, FALSE,

    **
    Ich vermute mal ganz dreist, dass du da nicht viel sehen wirst 😃
    Schau doch mal in deiner Referenz nach, welcher Parameter was und wofür ist ;)**[/QUOTE]
    Meist du die ersten 4 Parameter?
    Die hatte ich zuerst auch anders, hatte dann ma im MSDN geguckt, und da hatte ich 4,5 dinger mit nullen gefunden. 😞
    Ich hatte ja etwas gesehen, aber es war nur die normale Schrift. 😞



  • Sorry, Schuß in den Ofen. 😃

    [ Dieser Beitrag wurde am 18.11.2002 um 12:24 Uhr von Luckie editiert. ]



  • HFONT hFontHandle = CreateFont(14, 0, 0, 0, FW_DONTCARE, FALSE, FALSE, FALSE, 
            ANSI_CHARSET, OUT_TT_PRECIS, CLIP_TT_ALWAYS, 
            DEFAULT_QUALITY, FF_DONTCARE, "Times New Roman");
    
        SendMessage((HWND) hSteuerelement, (UINT) WM_SETFONT,(WPARAM) hFontHandle, true);
    

    so würde ich es machen..?? Achte auf den ersten Wert.. das ist die Schriftgröße glaube ich..

    [ Dieser Beitrag wurde am 18.11.2002 um 12:42 Uhr von personenkult editiert. ]



  • *an Kopf fass*

    HFONT CreateFont(
      int nHeight,               // height of font
      int nWidth,                // average character width
      int nEscapement,           // angle of escapement
      int nOrientation,          // base-line orientation angle
      int fnWeight,              // font weight
      DWORD fdwItalic,           // italic attribute option
      DWORD fdwUnderline,        // underline attribute option
      DWORD fdwStrikeOut,        // strikeout attribute option
      DWORD fdwCharSet,          // character set identifier
      DWORD fdwOutputPrecision,  // output precision
      DWORD fdwClipPrecision,    // clipping precision
      DWORD fdwQuality,          // output quality
      DWORD fdwPitchAndFamily,   // pitch and family
      LPCTSTR lpszFace           // typeface name
    );
    

    Die ersten beiden Werte geben die Höhe und die Breite der Zeichen an. Ist eines von beidem 0, wirst du wohl nicht viel sehen. Klingt doch an sich logisch, oder?



  • ja genau.. irgendwie so war das 😃
    trotzdem geht auch, wenn man nur den ersten Wert !=0 hat.

    [ Dieser Beitrag wurde am 18.11.2002 um 12:57 Uhr von personenkult editiert. ]



  • Ich habe es jetzt mal so gemacht:

    hFont = CreateFont(14, 5, 0, 0, FW_DONTCARE, FALSE, FALSE, FALSE, 
            ANSI_CHARSET, OUT_TT_PRECIS, CLIP_TT_ALWAYS, 
            DEFAULT_QUALITY, FF_DONTCARE, "Courier New");
    

    und habe immernoch die normale schrift. 😞


Anmelden zum Antworten