Здравствуйте, Аноним, Вы писали:
А>Можно ли использовать компонент-потомок TForm вместо формы по умолчанию в Delphi IDE, чтобы можно было визуально редактировать ее содержимое?
Т.е. отнаследоваться от другой уже готовой формы?
File -> New -> [Имя проекта]
Выбираешь нужную форму -> IDE создаёт наследника.
Модуль формы родителя должен быть подключен к проекту.
Здравствуйте, ak_miass, Вы писали:
_>Т.е. отнаследоваться от другой уже готовой формы?
Нет, я имел в виду новый компонент. Т.е. TForm с измененным конструктором и другими методами.
Или, может быть, есть возможность созать форму, накидать компоненты, а потом уже изменить ее класс с TForm на свой?
Re[3]: Потомок TForm в Delphi IDE
От:
Аноним
Дата:
17.05.07 09:53
Оценка:
B>Нет, я имел в виду новый компонент. Т.е. TForm с измененным конструктором и другими методами.
B>Или, может быть, есть возможность созать форму, накидать компоненты, а потом уже изменить ее класс с TForm на свой?
Конструктор менять нельзя — при чтении из dfm всегда будет зваться тот который Create(aOwner: TComponent). А обработчики событий свои можно — нужно рисовать IDE эксперта.
См. например в Delphi7 как устроен XPAppWiz.
Здравствуйте, bsigr, Вы писали:
B>Или, может быть, есть возможность созать форму, накидать компоненты, а потом уже изменить ее класс с TForm на свой?
Есть. Каждая форма в любом случае имеет свой класс.
Для того, чтобы отнаследоваться не от TForm выбираем (в Turbo Delphi)
File/New/Other/Delphi Projects/Inheritable Items
Для того, чтобы сделать форму доступной для наследования в других проектах щёлкаем на ней правой кнопокой и выбираем Add to Repository.
---
The optimist proclaims that we live in the best of all possible worlds; and the pessimist fears this is true
Здравствуйте, Аноним, Вы писали:
А>Можно ли использовать компонент-потомок TForm вместо формы по умолчанию в Delphi IDE, чтобы можно было визуально редактировать ее содержимое?
А>>Можно ли использовать компонент-потомок TForm вместо формы по умолчанию в Delphi IDE, чтобы можно было визуально редактировать ее содержимое?
D>Но я б на вашем месте "фигней" не страдал
Я бы не страдал, если бы знал правильное решение.
У меня есть класс, образованный от TForm, но переписан конструктор, процедура отрисовки и еще кое-что. Но сама форма, без компонентов на ней мне не нужна. Создавать же компоненты динамически несколько трудоемко. Вот я и пытаюсь узнать, как в таких случаях поступают более опытные товарищи
Re[3]: Потомок TForm в Delphi IDE
От:
Аноним
Дата:
21.05.07 05:39
Оценка:
Здравствуйте, bsigr, Вы писали:
B>Здравствуйте, Danchik, Вы писали:
А>>>Можно ли использовать компонент-потомок TForm вместо формы по умолчанию в Delphi IDE, чтобы можно было визуально редактировать ее содержимое?
D>>Но я б на вашем месте "фигней" не страдал
B>Я бы не страдал, если бы знал правильное решение.
B>У меня есть класс, образованный от TForm, но переписан конструктор, процедура отрисовки и еще кое-что. Но сама форма, без компонентов на ней мне не нужна. Создавать же компоненты динамически несколько трудоемко. Вот я и пытаюсь узнать, как в таких случаях поступают более опытные товарищи
Включить форму в проект, а дальше свои новые формы делать File\New\Other... там закладка с именем проекта и на ней выбирать эту форму.
Здравствуйте, bsigr, Вы писали:
B>У меня есть класс, образованный от TForm, но переписан конструктор, процедура отрисовки и еще кое-что. Но сама форма, без компонентов на ней мне не нужна. Создавать же компоненты динамически несколько трудоемко. Вот я и пытаюсь узнать, как в таких случаях поступают более опытные товарищи
Откажитесь от переписывания конструктора и переопределения методов. Запихните нужную функциональность в обработчики (OnCreate, OnPaint, etc). Создайте в проекте новую форму, установите для неё свойство Name на какое нравится (имя класса формы будет T+Name). Поскольку форма будет использоваться только для наследования, зайдите в Project/Options и удалите её из списка Autocreate Forms. Накидайте на форму нужные компоненты, напишите нужные обработчики и наследуйтесь от неё на здоровье. Если нужно наследоваться от этой формы в других проектах, включите её в репозитарий. Постарайтесь этим ограничиться, но знайте о существовании OTA (Open Tools API, см. ссылку Danchik'a).
---
The optimist proclaims that we live in the best of all possible worlds; and the pessimist fears this is true