Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Использование компонентов 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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо