Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.07;
Скачать: CL | DM;

Вниз

Создание визуальных компонентов   Найти похожие ветки 

 
Vitalik ©   (2002-10-28 07:53) [0]

Привет!

Продолжая осваивать искусство создания визуальных компонентов, столкнулся с проблемой…

В общем, у меня есть один компонент наследник Tpanel. К нему я добавил искусственно горизонтальную и вертикальную полосу прокрутки. Назовём этот компонент "TCustomA". Ещё есть несколько различных компонентов наследников TgraphicControl. Так как различия между ними в нашем случае не важны, то условно обозначим их все "TCustomB". Компонент TCustomA будет являтся родителем (parent) для всех компонентов TCustomB. Ну как Tpanel может быть родителем для, например, кнопки. Значит уточню, полосы прокрутки у TCustomA являются как бы его частью. То есть они создаются в методе TCustomA.Create автоматически. Когда TcustomA кладется на форму, то на нём они уже есть. Т.е. Parent у них и есть TCustomA.
И мне нужно, чтобы, когда пользователь двигал ползунки на полосах прокрутки, перерисовывался бы и TCustomA и все TCustomB. То есть понятно, что на TCustomA есть некоторые графические примитивы (линии, текст и т.п. нарисованные в canvas), и нужно чтобы они все перемещались на TCustomA; и компоненты TCustomB вместе с ними. Так вот как это всё по-грамотному делается?
Т.е. где, когда и как нужно вызывать методы (и какие методы) перерисовки TCustomA и TCustomB? Или может быть можно как-нибудь сделать, чтобы они сами автоматически вызывались?

Спасибо.


 
Separator ©   (2002-10-28 07:58) [1]

Используй TScrollBox


 
Vitalik ©   (2002-10-28 11:57) [2]

Да не, он не подходит. У него нету ни процедуры paint, которую можно было бы перекрыть, да и канваса нету.

но я уже понял в чём моя ошибка и все исправил.

Но так как я ещё не всё дописал, то вопросы ещё будут.
Так что не расслабяйтесь 8)



Страницы: 1 вся ветка

Текущий архив: 2002.11.07;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
3-21384
stone
2002-10-17 10:10
2002.11.07
Экспорт данных из MS SQL


1-21643
Strumpf
2002-10-27 09:10
2002.11.07
Как изменить расстояние между узлами TTreeView?


6-21718
Eugene
2002-09-11 00:25
2002.11.07
Как узнать время на другом компьютере в локальной сети?


3-21382
Cossys
2002-10-17 17:08
2002.11.07
Вот уж не знаю что делать, блин.


1-21488
Пасечник
2002-10-28 17:54
2002.11.07
Перерисовка формы