Главная страница
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.012 c
3-21413
vitnt2000
2002-10-18 08:55
2002.11.07
Как добавить к таблице новое поле и не убить данные?


3-21457
Fishka
2002-10-18 09:47
2002.11.07
Table.Fields


8-21687
Daniil
2002-07-14 18:08
2002.11.07
Ошибка при инициализаци клавы,маши...


3-21419
Nikolai_S
2002-10-18 14:27
2002.11.07
Почему не работает TADODataSet.Locate по полю типа DateTime?


4-21883
ikos
2002-09-26 09:14
2002.11.07
Активация MDI окна