Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Глюк с копированием на Cаnvas формы [D3, D5, D6, Win95/98]


KilkennyCat ©   (2002-05-29 20:02:00) 

Делаю StretchBlt с одной канвы(созданной мною) на небольшой участок канвы формы. Делаю это в таймере, очень часто.
Проблема: иногда перестает переносить изображение.
Изображение на исходной канве по основным параметрам не меняется.
Вопрос: в связи с чем это может быть связано, и может ли помочь UpdateBoundsRect()? (На всякий случай я его использую, но глюк столь редко проявляется, что не могу быть уверенным в его излечении)


KilkennyCat   (2002-05-29 21:12:00) [1]

хе... кода дофига более 3000 строк и все вязано-перевязано...
да и зачем?

У меня есть поверхность директикса.
В таймере я присваиваю ей канвас GetDC(HDC) рисую на нем, затем делаю StretchBlt(Canvas.Handle,x,y,width,height,HDC,xLeftTopHDC,yLeftTopHDC,xRightBottomHDC,yRightBottomHDC,SrcCopy) затем Release(HDC);

В коде ошибке нет, UpdateBoundsRect не помог.
Я вышел из ситуации, создав еще одну поверхность-регион DirectX, которая висит в том прямоугольнике, куда раньше блиттил.

Но все-таки почему? Иногда часа два гоняю - нормально. А иногда через минуту канвас переставал обновляться.



SPeller   (2002-05-29 20:23:00) [2]

Код?


Наверх

Титульная страница Поиск, карта сайта Написать письмо