![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Использование компонентов TImage для построения слоев [D3]
andrew_john © (2005-05-21 18:55:00)Здравствуйте. Подскажите, пожалуйста. Есть такая задача - рисовать графики рядом друг с другом. (данные снимаются с внешнего устройства) Чтобы была возможность работать с каждым из них (выделение куска и его увеличение в отдельном окне, перерисовывка только куска одного из графиков). Пробовал организовать слои с помощью компонентов TImage. Однако не знаю как осуществлять переход со слоя на слой (с одного компонента TImage на другой, расположенный над текущим) и как убрать мерцание экрана, когда идет выделение фрагмента графика с помощью функции FillRect. (при этом, видимо идет перерисовка всех остальных графиков). Буду очень благодарен за помощь.
XProger (2005-05-23 01:46:00) [1]andrew_john, перехватывай сообщение WM_PAINT для формы. Создавай контекств памяти ставь его как текущий для формы, производи отрисовку, меняй обратно контекст на старый и лёгким движением BitBlt скидывай всё что нарисовалось в контекст памяти на контекст формы %)
P.S.
Последуй совету Eraser'а лучше ;)
Eraser (2005-05-23 00:15:00) [2]andrew_john © (23.05.05 00:07) [2]
Задача решается установкой делфи 7.
andrew_john (2005-05-23 00:07:00) [3]К сожалению задача усложнена тем, что используется версия 3 Дельфи. И там просто нет свойства DoubleBuffered. Может есть другие варианты? Только я новичок. Мне с WinAPI сходу не разобраться, тем более не нашел подходящей книги.
XProger (2005-05-22 03:51:00) [4]
// в криейте формы
Form1.DoubleBuffered := true;
// "слой" поверх всех
Image1.BringToFront;