Конференция "Компоненты" » Компонент, содержащий фреймы.
 
  • Kolan © (30.10.08 17:57) [0]
    Здравствуйте,
     Стоит задача, не знаю с чего начать. Нужно сделать компонент схожий в работе с TPageControl, но каждая закладка которого была бы отдельным фреймом. То есть при вызове функции New Page, аналогичной ПэйджКонтроловской, должен добавляться новый пустой фрейм со своим модулем и т. д.

    С чего начать? И на сколько это трудоёмкая задача, как вы считаете?
  • Сергей М. © (31.10.08 08:56) [1]

    > С чего начать?


    Вестимо с чего - с шаблона, генерируемого с пом.меню "Component -> New Component"


    > на сколько это трудоёмкая задача


    Если наследоваться прямо от TPageСontrol, то задача практически плевая
  • Kolan © (31.10.08 09:53) [2]
    Хорошо, шаблон сгенерировал. Как теперь сделать, чтобы при вызове команды New Page создался фрейм всесте с новым *.пас файлом?
  • Сергей М. © (31.10.08 09:58) [3]
    А, ты вон о чем ..

    Под это придется новый IDE-эксперт писать и регистрировать ..
  • Сергей М. © (31.10.08 10:27) [4]

    > Kolan


    Написание соотв.эксперта, конечно, забот добавит, но это и не такое уж сложное дело
  • b z (31.10.08 10:43) [5]
    Интересно, а зачем такое надо? сори за офтоп
  • Kolan © (31.10.08 10:45) [6]
    Раз задача прояснилась, повтарюсь — с чего начать?.
  • Kolan © (31.10.08 10:50) [7]
    b z, мне контролы на закладках часто работают независимо от контролов на других закладках, а код все равно приходится пихать в одну и ту же форму — это неудобно.
  • Сергей М. © (31.10.08 10:54) [8]

    > Kolan ©   (31.10.08 10:45) [6]


    По-любому начинать нужно с компонента.
    Эксперт - это второй этап
  • DimaBr © (31.10.08 11:07) [9]
    Постановка задачи вообще не ясна.
    С одной стороны нужен многовкладочный компонент, а с другой стороны фрэйм.
    Использование компонента вообще приводит в тупик: если вы хотите избавиться от написания всего кода в одном модуле, то такой вариант вообще не подходит, поскольку только родитель находится в отдельном модуле, а наследники, брошенные на форму, всё равно в одном модуле.

    Если не затруднит, разъясните пожалуйста идею вашей задумки.
  • b z (31.10.08 11:10) [10]

    > код все равно приходится пихать в одну и ту же форму — это
    > неудобно
    А, просто раскидать на разные фреймы, а фрэймы уже на закладки - не вариант? Я к тому что есть ли целесообразность в таком контроле?
  • b z (31.10.08 11:11) [11]

    > целесообразность в таком контроле?
    * целесообразность в написании такого контрола?
  • Сергей М. © (31.10.08 11:13) [12]

    > DimaBr ©   (31.10.08 11:07) [9]


    Подозреваю, что автор клонит в сторону дизайн-тайм-генерации различных классов фреймов ..
  • Kolan © (31.10.08 12:40) [13]
    > Если не затруднит, разъясните пожалуйста идею вашей задумки.

    Попробую.
    Идея
    Для примера возьмем пэйджконтрол с двумя закладками. На одной из закладок кнопка и эдит. По клику на кнопке в эдит вводится значение. Взаимная работа кнопки и эдита никому больше не нужна и я хочу убрать этот код из модуля формы.

    Как я вижу работу
    Пользователь кидает на форму компонент по виду похожий на пэйджконтрол без табов. При вызове функции New Page создается новая страница, и у этой страницы должен быть свой модуль для кода. Хорошо бы, чтобы дизайнить можно было прямо на форме, то есть код отдельно, а дизайн вместе.

    Идеи реализации
    Как создать модуль — хз, отсюда и идея с фреймами.

    b z в посте [10] правильно описал то, что я хочу сделать, только все это должно быть в компоненте.
  • DimaBr © (31.10.08 14:00) [14]
    То есть вы хотите одну форму с компонентами и 100 модулей с описанием их взаимодействий ?
  • Kolan © (31.10.08 14:48) [15]
    Да, только не сто, а столько сколько страниц на нем.
  • DimaBr © (31.10.08 15:00) [16]
    Это противоречит идеалогии "одна форма - один модуль"
  • Kolan © (31.10.08 15:02) [17]
    Ну и что? Если на форму положить фрейм, то этот принцип тоже будет нарушен.
  • DimaBr © (31.10.08 15:56) [18]
    Ничего подобного, при создании фрейма создаётся новый модуль (форма+код)
  • Kolan © (31.10.08 16:15) [19]
    Не понял, что под формой вы подразумеваете и фреймы тоже.
    Я допускаю, что отделить модули от формы не получится. Пусть, пусть это выглядит как форма + код, как я говорил в [0]. Как их собрать в компонент и создавать из него?
 
Конференция "Компоненты" » Компонент, содержащий фреймы.
Есть новые Нет новых   [134466   +3][b:0][p:0.001]