Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Компоненты";
Текущий архив: 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.042 c
8-1150388501
***(H@kker)***
2006-06-15 20:21
2007.02.11
Экспорт модели


2-1169609787
exolon
2007-01-24 06:36
2007.02.11
Помогите укротить типизированный файл.


2-1169733873
Help!
2007-01-25 17:04
2007.02.11
Runtime


2-1169532094
M1sT
2007-01-23 09:01
2007.02.11
Сервер InterBase...


1-1166132397
pest_tt
2006-12-15 00:39
2007.02.11
недопустимый дескриптор окна





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский