Главная страница
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.029 c
14-2328
VID
2004-01-11 17:47
2004.02.02
С помощью системы Radmin 2.1...


3-2039
CraKer
2003-12-28 03:32
2004.02.02
Как добавить ячейку(совокупность ячеек)


3-1979
Viktor
2004-01-07 23:00
2004.02.02
Как получить дескриптор текущего соединения в FB?


14-2341
Труп Васи Доброго
2004-01-10 08:59
2004.02.02
Мародёры!!! Ник украли!!! Маздай полный!!!


1-2172
WG
2004-01-20 09:59
2004.02.02
Как заставить элементы изменять размер вместе с формой ?