Skocz do zawartości

Kłopoty z powtórnym wywołaniem DrawText


1337

Recommended Posts

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);
Link do komentarza
Udostępnij na innych stronach

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.

Link do komentarza
Udostępnij na innych stronach

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...