Главная страница
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
4-2436
frost
2003-11-26 12:33
2004.02.02
Программы по умолчанию!


14-2274
Polevi
2004-01-09 16:45
2004.02.02
EXCEL


1-2085
Игорь
2004-01-20 12:01
2004.02.02
WaitForSingleObject( pi.hProcess, INFINITE )?


3-2030
Паша_
2004-01-05 23:22
2004.02.02
Внутренности Alias


1-2105
HolyMan
2004-01-19 00:20
2004.02.02
Проблема со сварачиванием окна над панелей зачач!