-
Здравствуйте,
Стоит задача, не знаю с чего начать. Нужно сделать компонент схожий в работе с TPageControl, но каждая закладка которого была бы отдельным фреймом. То есть при вызове функции New Page, аналогичной ПэйджКонтроловской, должен добавляться новый пустой фрейм со своим модулем и т. д.
С чего начать? И на сколько это трудоёмкая задача, как вы считаете?
-
> С чего начать?
Вестимо с чего - с шаблона, генерируемого с пом.меню "Component -> New Component"
> на сколько это трудоёмкая задача
Если наследоваться прямо от TPageСontrol, то задача практически плевая
-
Хорошо, шаблон сгенерировал. Как теперь сделать, чтобы при вызове команды New Page создался фрейм всесте с новым *.пас файлом?
-
А, ты вон о чем ..
Под это придется новый IDE-эксперт писать и регистрировать ..
-
> Kolan
Написание соотв.эксперта, конечно, забот добавит, но это и не такое уж сложное дело
-
Интересно, а зачем такое надо? сори за офтоп
-
Раз задача прояснилась, повтарюсь — с чего начать?.
-
b z, мне контролы на закладках часто работают независимо от контролов на других закладках, а код все равно приходится пихать в одну и ту же форму — это неудобно.
-
> Kolan © (31.10.08 10:45) [6]
По-любому начинать нужно с компонента.
Эксперт - это второй этап
-
Постановка задачи вообще не ясна.
С одной стороны нужен многовкладочный компонент, а с другой стороны фрэйм.
Использование компонента вообще приводит в тупик: если вы хотите избавиться от написания всего кода в одном модуле, то такой вариант вообще не подходит, поскольку только родитель находится в отдельном модуле, а наследники, брошенные на форму, всё равно в одном модуле.
Если не затруднит, разъясните пожалуйста идею вашей задумки.
-
> код все равно приходится пихать в одну и ту же форму — это
> неудобно
А, просто раскидать на разные фреймы, а фрэймы уже на закладки - не вариант? Я к тому что есть ли целесообразность в таком контроле?
-
> целесообразность в таком контроле?
* целесообразность в написании такого контрола?
-
> DimaBr © (31.10.08 11:07) [9]
Подозреваю, что автор клонит в сторону дизайн-тайм-генерации различных классов фреймов ..
-
> Если не затруднит, разъясните пожалуйста идею вашей задумки.
Попробую.
Идея
Для примера возьмем пэйджконтрол с двумя закладками. На одной из закладок кнопка и эдит. По клику на кнопке в эдит вводится значение. Взаимная работа кнопки и эдита никому больше не нужна и я хочу убрать этот код из модуля формы.
Как я вижу работу
Пользователь кидает на форму компонент по виду похожий на пэйджконтрол без табов. При вызове функции New Page создается новая страница, и у этой страницы должен быть свой модуль для кода. Хорошо бы, чтобы дизайнить можно было прямо на форме, то есть код отдельно, а дизайн вместе.
Идеи реализации
Как создать модуль — хз, отсюда и идея с фреймами.
b z в посте [10] правильно описал то, что я хочу сделать, только все это должно быть в компоненте.
-
То есть вы хотите одну форму с компонентами и 100 модулей с описанием их взаимодействий ?
-
Да, только не сто, а столько сколько страниц на нем.
-
Это противоречит идеалогии "одна форма - один модуль"
-
Ну и что? Если на форму положить фрейм, то этот принцип тоже будет нарушен.
-
Ничего подобного, при создании фрейма создаётся новый модуль (форма+код)
-
Не понял, что под формой вы подразумеваете и фреймы тоже.
Я допускаю, что отделить модули от формы не получится. Пусть, пусть это выглядит как форма + код, как я говорил в [0]. Как их собрать в компонент и создавать из него?