Форум: "Компоненты";
Текущий архив: 2007.02.11;
Скачать: [xml.tar.bz2];
ВнизКак создать 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.097 c