Skocz do zawartości

Kłopoty z powtórnym wywołaniem DrawText


Recommended Posts

Napisano

Podczas zdarzenia WM_PAINT mojego okna głównego wyświetlam pewien text funkcją DrawText(). Później w programie chcę coś jeszcze domalować i nie widać tego (DrewText zwraca wartość niezerową). Czyżby była to wina tego że zdarzenie WP_PAINT zamalowywuje tamten text?

...
case WM_PAINT:
        HDC hdc;
        PAINTSTRUCT ps;
        RECT rc;
        hdc = BeginPaint(hWnd, &ps);
        SetBkMode(hdc, TRANSPARENT);
        SetRect(&rc, 20, 10, 400, 200);
        DrawText(hdc, "Blablabla", -1, &rc, DT_LEFT);
        EndPaint(hOkno, &ps);
        break;
...
DrawText(hdc, "\n blablabla", -1, &rc, DT_LEFT);
Napisano

W zdarzeniu WM_PAINT jest odmalowywane całe okno. Więc tak się dzieje, ponieważ w WM_PAINT masz tylko jeden tekst ktory chcesz wyswietlic dlatego wyswietla tylko jeden, a cala reszte zamalowywuje na tlo. Jeśli chcesz w ten sposob pisac to musisz wszytko robic w WM_PAINT, albo z WM_PAINT za każdym razem wysyłać komunikat w którym jest malowany pozostały tekst.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...