Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » OnPaint

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 ] > 2 <
010
18.06.2006, 11:22 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
bin mir nicht sicher, aber IMO überschreibst Du mit

C++:
::ExtTextOut(hDC, (m_rcStatic.right  - szText.cx) / 2, (m_rcStatic.bottom - szText.cy) / 2, ETO_OPAQUE, &m_rcStatic, m_lpstText, lstrlen(m_lpstText), 0);


Dein gültiges Rechteck
Ersetze mal &m_rcStatic durch NULL
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
18.06.2006, 12:46 Uhr
xXx
Devil


Hmm ne... der gibt nix aus Hmm woran kann das bl0ß liegen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
18.06.2006, 13:04 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
ich hab den Quellcode etwas modifiziert mal in WM_PAINT in einem "normalen" Projekt getan

C++:
case WM_PAINT:
        if(wParam == 0)
            hdc = BeginPaint(hWnd, &ps);
        else
            hdc = (HDC)wParam;
        if(!hdc)
            return -1;
        hPenBg                = CreatePen(PS_SOLID, 1, RGB(0, 0, 0));
        hBrushBg            = CreateSolidBrush(RGB(255, 255, 255));
        hOldPen        = (HPEN)SelectObject(hdc, hPenBg);
        hOldBrush    = (HBRUSH)SelectObject(hdc, hBrushBg);
        ::RECT rc;
        ::GetClientRect(hWnd,&rc);
        ::Rectangle(hdc,rc.left+6, rc.top+6, rc.right-6, rc.bottom-6);
        SelectObject(hdc, hOldBrush);
        DeleteObject(hBrushBg);

        SetTextColor(hdc, RGB(0, 0, 0));
        SetBkMode(hdc, TRANSPARENT);
        ::GetTextExtentPoint32(hdc, m_lpstText, lstrlen(m_lpstText), &szText);
        ::ExtTextOut(hdc, (rc.right  - szText.cx) / 2, (rc.bottom - szText.cy) / 2, ETO_OPAQUE, NULL/*&rc*/, m_lpstText, lstrlen(m_lpstText), 0);
        ::MoveToEx(hdc, 6, 23, NULL);
        LineTo(hdc, rc.right - 6, 23);
        SelectObject(hdc, hOldPen);
        DeleteObject(hPenBg);
        EndPaint(hWnd, &ps);
        return 0;
    case WM_DESTROY:
........


funzt.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
18.06.2006, 13:16 Uhr
xXx
Devil


Hmmmm komisch... bei gehts so auch... k ein Fehler in meinem Code fällt mir jetzt direkt auf... ich glaub das ist auch der einzige... denn... das Rect das ich auch beim Zeichnen benutzt hab, hab ich auch beim erstellen benutzt ... aber der DC arbeitet ja mit den Client Koordinaten... mit anderen Worten.. die Position war außerhalb des Ctrls und wurde daruch net gezeichnet


Bearbeitung:
Aja... die DrawText hat den auch noch rausgehauen... hab das auch da mit exttextout geregelt... das funzt wenigstens anständig


Thx @ all Jetzt geht alles

Dieser Post wurde am 18.06.2006 um 13:25 Uhr von xXx editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ 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: