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

Вниз

Время ожидания в дизайнере   Найти похожие ветки 

 
DimaBr   (2005-08-12 09:41) [0]

Я пишу компонент, который после загрузке формы (на которой он лежит) производит некоторые действия в дизайнере. Когда начинать эти действия я не знаю, но нужно чтобы форма со всей требухой уже отобразилась (все компоненты получили свои оконные представления)  и тогда всупает в действие моё извращение.


 
Юрий Зотов ©   (2005-08-12 21:23) [1]

Можно перекрыть Loaded. Но все же для компонента эта чисто дизайнерская задача выглядит, ИМХО, несколько странно. Почему компонент, а не эксперт IDE?


 
DimaBr   (2005-08-13 10:15) [2]

Здравствуйте, уважаемый  Юрий Зотов. Создаётся впечатление, что Вы здесь один (ну или почти один).
Насколько Вы поняли я пытаюсь преобразовать Ваш Эксперт (прячущий невизуальные компоненты) в компонент, дабы при открытии формы не прятать каждый раз все заново. То есть помнить, какие компоненты, на каких формах спрятаны. Может быть я поступаю неверно, но запоминать все это в эксперте мне кажется глупо. Помогите дельным советом.


 
Юрий Зотов ©   (2005-08-13 12:38) [3]

Код компонента живет в приложении. Зачем засорять приложение кодом, который в run-time совершенно не нужен? Незачем.

В эксперте есть форма, а в ней - ListBox с галочками. Галочки определяют, какие компоненты нужно прятать. Значит, при сохранении формы надо в ее же каталоге записать файл (например, с именем модуля формы и каким-то специальным расширением), а в этом файле сохранить состояние галочек. При открытии же формы этот файл нужно прочитать (если он есть) и по нему восстановить видимость компонентов. То есть, эксперт должен перехватывать сохранение и открытие (или активизацию) форм.

Смотрим ToolsAPI.pas и видим, что интерфейс IOTAFormNotifier содержит такие методы. Значит, нам надо написать класс, реализующий этот интерфейс и зарегистрировать этот класс внутри эксперта. Как это сделать - см. пример в поставке Delphi.


 
DimaBr   (2005-08-13 16:44) [4]

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

По поводу Код компонента живет в приложении. Зачем засорять приложение кодом - одним больше, одним меньше значение не имеет. У меня описание компонентов главной формы зачастую длинее обработки их событий. Тем более что этот компонент в Run-Time работать не будет.



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

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

Наверх




Память: 0.48 MB
Время: 0.046 c
2-1136392666
worldmen
2006-01-04 19:37
2006.01.29
Вставить пароль при загрузке.


2-1136634468
Nic
2006-01-07 14:47
2006.01.29
Как закрыть программу в C#


2-1137070317
irishka001
2006-01-12 15:51
2006.01.29
Проблема с задержкой


2-1137174021
St74
2006-01-13 20:40
2006.01.29
Как DLL правильно заполнить строковыми ресурсами, и потом достать


2-1137171249
Guest386x
2006-01-13 19:54
2006.01.29
хук...