Главная страница
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.052 c
14-2321
Teren
2004-01-09 00:15
2004.02.02
Любимые фильмы


1-2212
Sergant
2004-01-20 11:33
2004.02.02
Можно ли сделать Hint у TrayIcon больше 128 символов?


3-1958
Patrick
2004-01-08 16:58
2004.02.02
ORDER BY в многотабличном запросе.


1-2229
Minimize OnClose
2004-01-20 14:28
2004.02.02
Minimize OnClose


4-2431
User_OKA
2003-11-24 10:25
2004.02.02
Реестр