GDI



  • Hi,

    Wie kann ich die Schrift bei "TextOut" verändern ?
    Ich will z.B. dass das was man mit

    TextOut(HDC,100,100,"DAS SOLL SICH VERÄNDERN", 21);
    

    an Text auf dem monitor ausgibt größer sein soll und eine andere Schriftart!
    Wie geht das ?

    mfg



  • Mit SelectObject, CreateFont(Indirect) bzw DeleteObject.

    Hier ein kleines Beispiel:

    // ...
    
    WM_PAINT: {
       PAINTSTRUCT pstWnd;
       BeginPaint(hWnd, &pstWnd);
       LOGFONT lfFontInfo;
       // lfFontInfo-Strukurvariable initialisieren, der Einfachheit halber nur:
       GetObject(GetStockObject(DEFAULT_GUI_FONT), sizeof(LOGFONT), &lfFontInfo);
       HFONT hfPrevFont = static_cast<HFONT>(SelectObject(pstWnd.hdc, CreateFontIndirect(&lfFontInfo)));
    
       TCHAR szOutput[] = TEXT("Ausgabe-Text");
       TextOut(psdWnd.hdc, 0, 0, szOutput, sizeof(szOutput) / sizeof(szOutput[0]));
    
       DeleteObject(SelectObject(psdWnd.hdc, hfPrevFont));
    
       EndPaint(hWnd, &pstWnd);
       } break;
    
    // ...
    

    Für weiteres bitte Forumsuche, google und/oder MSDN benutzen.



  • hmm fehlermeldungen gibt es keine aber,der text ist nicht sichtbar! Ich glaub dem Text ist keine Farbe zugeiwesen! Was muss man dann noch ändern ?

    mfg


  • Mod

    Der Standard ist Schwarz auf Weis!
    Zeig doch mal ein bsichen mehr Code, wo zeichnest Du denn?



  • code

    HDC         hdc ;
         PAINTSTRUCT ps ;
    
                switch(iMsg)
                {
    
        case WM_PAINT:
             hdc = BeginPaint(hwnd, &ps);
    
    		 TextOut(hdc,5,5,"Dummytext",9);
    
    		 EndPaint(hwnd, &ps);
    
        return 0 ;
       }
    

    So, wie soll ich da jetzt die schrift größer machen 😕
    kann ja wohl nich so schwer sein^^
    mfg



  • okok, hat sich erledigt 😉

    habs nun mit CreateFont()geschafft 😉

    mfg



  • Jop ... und Textfarbe kannst du mit SetTextColor ändern. sowas findet man aber auch in der MSDN -.-


Anmelden zum Antworten