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

Вниз

Как создать events у Frame или у Form?   Найти похожие ветки 

 
georgius ©   (2006-05-24 14:00) [0]

Не понимаю, как это работает
1) Создаю потомок от Frame, у него событие OnCreate
2) Регистрирую, как компонент (register и т.д.)
3) Кидаю на форму - событие видно на закладке Events

Теперь делаю немного по-другому:
Создаю новый Frame, наследую его от первого (File|New|Other....). Создается нормально, смотрю Events - нету OnCreate!!!

Точно так же у любой формы можно объявить published
property и event, а потом создавать ее потомков, и ожидая
увидеть эти новые свойства, разочаровываться.

В связи с этим вопрос:
Есть ли способ добавлять в объекты, создаваемые путем наследования форм (File|New|Other.....) добавлять свои свойства так, чтобы они были доступны в дизайнере?


 
Юрий Зотов ©   (2006-05-24 21:33) [1]

См. RegisterCustomModule.


 
georgius ©   (2006-05-24 22:55) [2]

Посмотрел, попробовал.... Многодельно и практически бесполезно (Я так думаю!).
Зато нашел workaround - все фреймы в иерархии можно зарегистрировать, как компоненты, и тогда, когда их кидаешь на форму - их дополнительные свойства доступны.


 
ZeroDivide ©   (2006-05-28 15:49) [3]

{$IFDEF DT}
 procedure Register;
{$ENDIF}
implementation
{$IFDEF DT}
uses DesignIntf, DesignEditors;
{$ENDIF}

{$R *.dfm}
   
{$IFDEF DT}
procedure Register;
begin
 RegisterCustomModule(TfrmBasic, TCustomModule);
end;
{$ENDIF}

после этого, надо засунуть фрейм в пакет поставить в опциях пакета в Conditionals - DT
Откомпилировать и установить bpl. Потом можно будет в своем проекте наследоваться от этого фрейма.

Events в инспекторе объектов появятся, но в месте с тем появится еще куча проблем:
1. Фреймы, унаследованые от этого фрейма не смогут "кидаться на форму", их можно будет создавать и показывать только в рантайм.
2. В пакете нельзя сделать визуальную иерархию фреймов. dfm не умеют наследоваться в пакетах.



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

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

Наверх




Память: 0.47 MB
Время: 0.042 c
1-1166531767
iXT
2006-12-19 15:36
2007.02.11
TService


2-1169556864
kyn66
2007-01-23 15:54
2007.02.11
У ListBox глючит событие ListBox1DrawItem ???


2-1169553193
SamAman
2007-01-23 14:53
2007.02.11
WinAPI


4-1159448131
Baton
2006-09-28 16:55
2007.02.11
Как перейти в спящий режим?


1-1166611676
_ozzy_
2006-12-20 13:47
2007.02.11
Как запретить подтверждение на замену(удаление) Windows?