Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Text wird nicht geschrieben

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
21.01.2005, 18:17 Uhr
RedEagle



Hi
Habe folgenden code:

C++:
            for (; i < 128; ++i)
            {
             iStrLen = wsprintf(szText, "%i: %c", i, (char)i);
             GetTextExtentPoint32(hDC, szText, iStrLen, &size);
             if (rect.right <= (iXPos + size.cx + iRand))
             {
                    iXPos  = iRand;
                    iYPos += size.cy + iVSpace;
             }
             iXPos += size.cx + iSpace;
            }



Leider wird die ASCII-Tabelle nicht ausgegeben


C++:
DrawText(hDC, szUeberschrift, lstrlen(szUeberschrift), &rect, DT_SINGLELINE | DT_CENTER);


Wird angezeigt, d.h. es liegt nicht am Fenster selbst.

Was ist am code(oben) falsch??
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
21.01.2005, 19:46 Uhr
Bruder Leif
dances with systems
(Operator)


Moin!

Ich seh in dem oberen Codeabschnitt kein DrawText
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
21.01.2005, 19:53 Uhr
RedEagle



Das ist ja nur nen Codeausschnitt

Hier der Komplette code für WM_PAINT:

C++:
case WM_PAINT: //---------------------------------------------------------
      {
         PAINTSTRUCT   ps;
         HDC           hDC;
         const char    szUeberschrift[] = "Der ASCII Zeichensatz (128 Zeichen)";
        
         hDC = BeginPaint(hWnd, &ps);
         {
            int   iXPos      = iRand;
            int   iYPos      = 2 * iRand;
            int   i          = 0;
            char  szText[30];
            int   iStrLen    = 0;
            SIZE  size;
          
             DrawText(hDC, szUeberschrift, lstrlen(szUeberschrift), &rect, DT_SINGLELINE | DT_CENTER);
            
            for (; i < 128; ++i)
            {
              iStrLen = wsprintf(szText, "%i: %c", i, (char)i);
              GetTextExtentPoint32(hDC, szText, iStrLen, &size);
              if (rect.right <= (iXPos + size.cx + iRand))
              {
                iXPos  = iRand;
                iYPos += size.cy + iVSpace;
              }
              iXPos += size.cx + iSpace;
            }
         }
         EndPaint(hWnd, &ps);
         break;;
      }




zu GetTextExtentPoint32(hDC, szText, iStrLen, &size); :

Zitat von bzw aus einem Tutorial:

Mit der GetTextExtentPoint32 Funktion kann man die Maße eines bestimmten Textes bestimmen Da die Größe des Textes von der Schriftgröße abhängt, müssen wir den Handle zu unserem Device Context als ersten Parameter übergeben, damit die Funktion sich die Maße der Schrift besorgen und so die Größe des gesamten Textes ausrechnen kann. Der zweite Parameter ist ein Zeiger auf den Text, dessen Maße bestimmt werden sollen. Im dritten Parameter muss die Länge des Stringes stehen. Mit dem vierten Parameter übergeben wir einen Zeiger auf die SIZE Struktur, in der dann die Maße des Textes gespeichert werden.


--
MFG RedEagle

Dieser Post wurde am 21.01.2005 um 19:55 Uhr von RedEagle editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
21.01.2005, 19:59 Uhr
Bruder Leif
dances with systems
(Operator)


Das ist das Problem GetTextExtentPoint32 berechnet zwar die Maße, gibt den Text aber nicht aus Noch ein DrawText dazu, dann sollte die Liste ausgegeben werden.
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
21.01.2005, 20:02 Uhr
RedEagle



Jo, funktioniert


--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: