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

Вниз

Рассылка событий группе объектов.   Найти похожие ветки [D7, WinXP]

 
Владислав ©   (2005-11-25 16:45) [40]


> А зачем оно ему нужно, если он не знает что делать ?


Ну кроме case еще есть if... Может быть группа событий :)


if
 (AEventObject.EventID >= EVENTID_SOME_FIRST) and
 (AEventObject.EventID <= EVENTID_SOME_LAST)
then
 ReloadSomeProperties(AEventObject);


 
GuAV ©   (2005-11-25 17:21) [41]

Владислав ©   (25.11.05 16:45) [40]

Ха, вон даже как.
Что же Вы раньше молчали ;)


 
Leonid Troyanovsky ©   (2005-11-25 17:28) [42]


> GuAV ©   (25.11.05 16:40) [39]


> У меня разные формы, фреймы. Контейнером для всех, разумеется
> является Application, однако в VCL проектах наследника Application
> не пишут.

Отчего ж не пишут? :)

> Делать одну из форм диспетчером - неудобно. Поэтому отдельный
> класс диспетчера. Более того, приёмниками событий изначально
> были не только контролы, но и классы в некоторых списках,
>  это  уже переделано.

Не знаю насчет диспетчеризации, но привязать к главной форме
все хранилища глобальных данных весьма удобно.
Ну, и некоторые глобальные методы.

> Но зачем прописывать каждый контрол, если он может прописать
> себя сам, тогда это будет в его модуле, а не в модуль диспетчера.

Тогда это будет специализированный контрол, с ограниченным
применением, а нам, собс-но, нужен специализированная форма,
фрейм, панель, т.е. - контейнер.

> С контролами одного модуля у меня именно так, через
> св-ва контейнера.

Модуль - это не совсем элемент OOP.
Например, можно в дизайнтайме сделать некотрый контейнер,
а в рантайме - сделать его наследника, придав ему (контейнеру)
некоторые дополнительные (нужные) возможности.
Особенно, если оный контейнер создается именно в рантайме.

--
Regards, LVT.


 
GuAV ©   (2005-11-25 17:53) [43]


> Модуль - это не совсем элемент OOP.

Ну да, имелся ввиду класс, который реализует этот модулью


> Особенно, если оный контейнер создается именно в
> рантайме.

Не только в рантайме :)
вот так я создаю Ваш грид:

 TStringGridSE = class(TStringGrid)
   ...
 end;

 TStringGrid = class(TStringGridSE)
 end;

type
 TfrmGrid = class(TFrame)
   StringGrid: TStringGrid;
   ...


 
Leonid Troyanovsky ©   (2005-11-25 18:34) [44]


> GuAV ©   (25.11.05 17:53) [43]

> вот так я создаю Ваш грид:

>  TStringGridSE = class(TStringGrid)
>    ...
>  TStringGrid = class(TStringGridSE)


Не очень понятно почему мой, но приятно :)

Ну, а делается такое не от хорошей жизни, а потому как, видимо,
технически сложно сделать истинных наследников и использовать
их уже традиционно.

--
Regards, LVT.


 
GuAV ©   (2005-11-25 19:09) [45]


> Не очень понятно почему мой

Мой вопрос в "начинающим"
http://delphimaster.net/view/2-1132581168/


> Ну, а делается такое не от хорошей жизни

Просто не хочется "загрязнять" палитру, но хочется визуального наследования. А чем это плохо ?


 
Leonid Troyanovsky ©   (2005-11-28 09:06) [46]


> GuAV ©   (25.11.05 19:09) [45]

>> Ну, а делается такое не от хорошей жизни

> Просто не хочется "загрязнять" палитру, но хочется визуального
> наследования. А чем это плохо ?


IMHO, неудобно.
Снабдил компонент необходимыми функциями, отладил, установил в
палитру (на отдельную страницу), использовал в проекте, а затем и
удалил из палитры до лучших времен.
Зато, уже отлаженный модуль может послужить основой для еще
какого-либо специализированного компонента.

--
Regards, LVT.



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

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

Наверх




Память: 0.55 MB
Время: 0.062 c
8-1121750641
ShotGun
2005-07-19 09:24
2005.12.25
Как прграммно изменить разрешение рисунка?


2-1133770782
inew
2005-12-05 11:19
2005.12.25
Оптимизация клиент-серверного приложения.


3-1131443597
Laymer
2005-11-08 12:53
2005.12.25
Получение список таблиц и их полей


5-1117695880
Никита
2005-06-02 11:04
2005.12.25
Как заставить TCustomControl не "моргать" при перерисовывание


4-1130396689
DancerMan
2005-10-27 11:04
2005.12.25
TWebBrowser запретить выделение