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

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

TScrollBox


fog ©   (2006-08-06 00:27:00) 

Приспособил TImage для рисования графиков. Но есть одна проблема - как заставить TScrollBox "скролить" график, вызывая мой метод TImage.Paint?


KilkennyCat   (2006-08-06 10:36:00) [1]

Ужос.

Берем TBitMap. Рисуем все на нем. Берем два скроллбара и кидаем их по сторонам TPaintBox. В событиях изменения позиции скроллбаров пишем переход на отрисовку. В отрисовке пишем что-нить вроде BitBlt с TBitmap на TPaintBox, с координатами x и y  привязанными к позиции скроллбара...


fog   (2006-08-06 04:22:00) [2]

>GeLLeR
> В процедуре ScrollChange вызывать процедуру TImage.Paint ?

В ScrollBox'e и ниже нет ничего подобного.

>KilkennyCat
> А разве скроллбокс не автоматом осуществяет прорисовку компонет непоместившихся?

Осуществляет, но у меня вместо скроллинга одно мерцание и рисует одно и тоже. И для экономии времени TImage.Paint рисует только в видимую область, следовательно надо знать ScrollBar.ScrollPos.

>KilkennyCat
>Но ваще-то, не могу представить себе ни одного логического обоснования такого метода скроллинга непоместившегося изображения, а также использования TImage для рисования.
Есть ощущение, что автор работает методом "тыка".

Не "тыка", а по-быстрому. Лет 5 назад, реализовал примерно такую же задачу через TWinControl. Но он "ушел" вместе в "винтом" - RIP.

Вопрос же задал потому, что нашел это:
http://delphiworld.narod.ru/base/tscrollbox_scroll_event.html

Нельзя ли как-нибудь попроще?


KilkennyCat   (2006-08-06 01:37:00) [3]

А разве скроллбокс не автоматом осуществяет прорисовку компонет непоместившихся? Ну или вариант [1].

Но ваще-то, не могу представить себе ни одного логического обоснования такого метода скроллинга непоместившегося изображения, а также использования TImage для рисования.
Есть ощущение, что автор работает методом "тыка".


GeLLeR   (2006-08-06 00:32:00) [4]

В процедуре ScrollChange вызывать процедуру TImage.Paint ?

Может я вопрос нетак понял?????


Наверх

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