![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Canvas
Bobby Digital © (2004-12-14 02:44:00)У меня проблема! Изобразил в Painbox ломанную с помощью
, но стоит мне свернуть окно, или проевсти повех него другое рисунок исчезает ... координаты ломанной есть в массиве, понятное дело, что можно каждый раз обновлять через какой-то отработчик, но как то не рационально ... можно ли как-то "намертво" присандалить линию к Canvas'у
MoveTo
LineTo
NeyroSpace (2004-12-14 10:01:00) [1]Создай VirtCanv: TBitmap рисуй сначала на нем VirtCanv.Canvas...
а потом при перерисовке формы копируй его на канвас формы так будет быстрее, чем сразу рисовать на канвасе формы.
KSergey (2004-12-14 07:36:00) [2]> [2] Kolan © (14.12.04 02:54)
> AFAIR Это такое поведение конвы.
Не надо говорить то, чего не знаете.
novarm44 (2004-12-14 07:06:00) [3]Используется TImage.Canvas, единственное там немного медленней скорость прорисовки и обновляется все только на Application.ProcessMessages или после выхода из процедуры рисования (хотя в этом, наверное, и есть прелесть TImage - без привлечения доп. средств получается перерисовка без мелькания)
Kolan (2004-12-14 02:54:00) [4]
> Bobby Digital © (14.12.04 02:44)
AFAIR Это такое поведение конвы. Используй Image.
Юрий Зотов (2004-12-14 02:53:00) [5]> но стоит мне свернуть окно, или проевсти повех него другое
У Вас экран объемный (3D), или плоский (2D)? Видимо, плоский. И у ВСЕХ он плоский.
Так вот - НЕЛЬЗЯ провести окно ПОВЕРХ другого окна на ПЛОСКОМ экране. Потому что на ПЛОСКОМ экране никаких ПОВЕРХ не бывает. Весь экран - это один сплошной ПЛОСКИЙ рисунок.
"Поверх" - это всего лишь зрительный эффект и обеспечивается он динамической перерисовкой окон.
Значит, "присобачить рисунок намертво" - нельзя. Он должен динамически прорисовываться вместе с окном. И для этого в TPainBox есть событие OnPaint - там и рисуйте.