Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Winapi - bitmapa i jej odświeżanie

Ostatnio zmodyfikowano 2014-02-03 09:44
Autor Wiadomość
kill
Temat założony przez niniejszego użytkownika
Winapi - bitmapa i jej odświeżanie
» 2014-02-02 18:13:06
Witam,

Chciałbym narysować bitmape i  chciałbym aby nie znikała ona gdy przesuwam okno, minimalizuje je lub pojawia sie jakis komunikat.
Niestety nie mam dostępu do procedury obsługującej komunikaty.(nie mogę w WM_PAINT rysować)
Czy jest jakaś inna możliwość aby to narysować tak żeby się to nie zmazywało?

P-103882
Monika90
» 2014-02-02 18:36:12
nie mam dostępu do procedury...
A do czego masz dostęp?
P-103883
kill
Temat założony przez niniejszego użytkownika
» 2014-02-02 18:42:00
jedyne co mam to uchwyt okna
P-103885
Monika90
» 2014-02-02 18:53:41
subclassing
P-103887
kill
Temat założony przez niniejszego użytkownika
» 2014-02-02 18:56:14
Genialny pomysł, dzięki za pomoc ;)
Myślę że to będzie działać :D
P-103888
kill
Temat założony przez niniejszego użytkownika
» 2014-02-02 19:20:00
No tak tylko jest problem, co mogę zrobić aby zachować zawartość WM_PAINT która była wcześniej?
Potrzebuję żeby wykonało się to co jest już i chcę oprócz tego dodać swoją część kodu.
P-103890
Monika90
» 2014-02-02 20:16:14
W obsłudze WM_PAINT wywołaj oryginalną procedurę okna, a potem dorysuj swoje.

Z tym że prawdopodobnie nie będziesz mógł użyć BeginPaint i EndPaint. GetDC powinno zadziałać.
P-103891
kill
Temat założony przez niniejszego użytkownika
» 2014-02-02 20:22:00
Niestety program się wiesza przy pierwszym poruszeniu

Pobieram to tak: WNDPROC old = (WNDPROC) GetWindowLong( hWnd, GWL_WNDPROC );


a później wywołuje już w WM_PAINT old(paramterty);


PS: Nawet gdy tylko old(...); zostawie w WM_PAINT wypluwa błąd...
PS2: Wnioskuje więc że źle wywołuję tę funkcję - nie musi być nawet w procedurze nowej żeby zwiesić program.
P-103892
« 1 » 2 3
  Strona 1 z 3 Następna strona