Главная страница
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.02 c
1-2094
SergeyDon
2004-01-19 17:16
2004.02.02
MDIChild + TActionMainMenuBar


3-2022
666
2004-01-06 16:01
2004.02.02
dbgrid


1-2231
man
2004-01-19 19:49
2004.02.02
как получить список процессов, которые используют данный файл


1-2069
Sirus
2004-01-21 06:10
2004.02.02
Панель типа TaskBar в WinXP....


1-2208
DmitryA
2004-01-20 17:12
2004.02.02
ScrollBar в ComboBox