|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Окт 23, 2004 21:51:34 Процедура диалогового окна при инициализации субклассирует дочерний элемент типа Static. .init: invoke LoadImage,0,szFile,IMAGE_BITMAP,0,0,LR_LOADFROMFILE mov [hBmp],eax invoke GetDlgItem,[hwnd],208 mov [hStat],eax invoke SetWindowLong,[hStat],GWL_WNDPROC,CallBack mov [oldHWND],eax jmp .ext В новой процедуре Static-а реакция только на сообщение WM_PAINT proc CallBack,hwnd,wmsg,wparam,lparam enter push ebx esi edi invoke CallWindowProc,[oldHWND],[wmsg],[wparam],[lparam] cmp [wmsg],WM_PAINT je .paint jmp .ext .paint: invoke BeginPaint,[hwnd],ps invoke CreateCompatibleDC,[ps.hdc] mov [cmDC],eax invoke SelectObject,[cmDC],[hBmp] invoke BitBlt,[ps.hdc],1,1,200,200,[cmDC],1,1,SRCCOPY invoke EndPaint,[hwnd],ps jmp .ext .ext: ;xor eax,eax pop edi esi ebx return Рисунок вначале отрисовывается, но через некоторое время пропадает, например после активации другого окна. Подскажите почему? |
|
|
Дата: Окт 24, 2004 01:24:54 Попробуй ещё обрабатывать WM_ERASEBKGND, оно приходит в том числе и при деактивации твоего окна |
|
|
Дата: Окт 24, 2004 08:55:51 Всем спасибо. Если интересно ошибка была в том, что я не удалял созданный совместимый контекст. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.123 |