Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.02;
Скачать: CL | DM;

Вниз

tpaintbox.onpaint   Найти похожие ветки 

 
race1 ©   (2004-01-18 17:32) [0]

мою башню начинает сносить...

вобщем имеется TPaintBox, который заключён в TScrollBar и больше его. у паинтбокса написана ф-я Paint (событие OnPaint т.е.). в ней я рисую на временной канве(размером с TPaintBox.Canvas.ClipRect, размеры задаются при каждом выполнении данной ф-ции), затем эту временную канву желаю переместить на канву TPaintBox"а. но дело в том, что на канву TPaintBox"а правильно перенести содержимое временной канвы во время двигания ползунков ScrollBar"а не удаётся.

в простейшем случае я рисую текст (на временной канве). рисую временную канву на канве паинтбокса (Canvas.Draw или BitBlt значения не имеет). на канве паинтбокса я вижу куски текста по всей видимой канве. если нарисовать содержимое временной канвы на другом получателе (на форме, например), то всё рисуется как надо.

вот и не доходит до меня зачем такие касяки с паинтбоксом...


 
Amoeba ©   (2004-01-19 11:23) [1]

А зачем такая сложность? Что мешает сразу рисовать на канве PaintBox"а?


 
Ega23 ©   (2004-01-19 11:32) [2]

Рисуй на виртуальном битмапе, а потом его на ПэинтБокс через CopyRect


 
race1 ©   (2004-01-20 13:03) [3]

сложность для оптимизации, если рисовать на пэйнтбоксе, могут быть заметны мерцания

мне непонятно почему неработает Draw. на временной канве всё рсуется ок, а draw"ится с касяками...


 
Amoeba ©   (2004-01-20 13:35) [4]


> если рисовать на пэйнтбоксе, могут быть заметны мерцания

DoubleBuffered + F1


 
race1 ©   (2004-01-20 15:37) [5]

да я знаю про даблбуффер, и он даже включён, но мерцания есть всё равно. наверно, из-за картинки (на заднем плане). может если картинку рисовать draw, а всё остальное непосредственно на пэйнтбокс...


 
DieHard   (2004-01-20 16:11) [6]

Похоже, что у тебя перерисовывается не весь ПаинтБокс, ведь ты используешь ClipRect. Поэтому и остаются куски старого текста. Перерисовывай область, равную Скроллбоксу.


 
race1 ©   (2004-01-21 14:41) [7]

клипректы определяются правильно...

притом, мой пэйнтбокс больше скроллбокса. когда двигать полузнки и перемещать пэйнтбокс, то при перерисовке заметны касяки, но если после того, как передвинули ползунок, запустить перерисовку ещё раз, то всё рисуется ок.



Страницы: 1 вся ветка

Текущий архив: 2004.02.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.018 c
4-2417
Леприкон
2003-11-25 15:33
2004.02.02
Работа с меню


14-2333
Piter
2004-01-11 13:37
2004.02.02
Список процессов (CreateToolhelp32Snapshot)


14-2295
Calm
2004-01-11 14:31
2004.02.02
Посоветуйте прогу, расширяющую возможности буфера обмена.


4-2433
Rad
2003-11-27 02:57
2004.02.02
ShellExecute для открытия окна свойств файла


14-2287
nikkie
2004-01-12 02:13
2004.02.02
пальчиковые аккумуляторы и зарядные устройства