1337 Napisano Kwiecień 14, 2019 Autor Zgłoś Udostępnij Napisano Kwiecień 14, 2019 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); Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Jarema Napisano Kwiecień 15, 2019 Zgłoś Udostępnij Napisano Kwiecień 15, 2019 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. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Visage Napisano Kwiecień 15, 2019 Zgłoś Udostępnij Napisano Kwiecień 15, 2019 Najprosciej malowac musisz miedzy Begin/EndPaint :) Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.