как сделать редактор форм?

Модераторы: Duncon, Naeel Maqsudov, Хыиуду, Игорь Акопян

Ответить
Blood_Magic
Сообщения: 268
Зарегистрирован: 30 июн 2005, 14:53

10 май 2007, 20:56

[LEFT]возникла необходимость в редакторе форм, типа как в Delphi из ограниченного числа компонентов: Edit, SpinEdit, Memo, CheckBox, Label. Есть идеи как можно сделать с сохранением? Кто-нибудь занимался подобными задачами?[/LEFT]
- Чем юзер похож на обезьяну?
- Он жмет на все, что жмется, дергает все, что дергается и крутит все, что крутится.
- Чем юзер отличается от обезьяны?
- У обезьяны хватает ума не воспроизводить ту последовательность, которая приводит к краху системы.
Аватара пользователя
SergeyS
Сообщения: 193
Зарегистрирован: 21 ноя 2006, 17:12
Откуда: Хакасия, Абакан
Контактная информация:

11 май 2007, 04:56

Да путей множество, начиная от собственного формата данных на базе XML (на мой взгляд более предпочтительно) и заканчивая встроенным механизмом Delphi на базе класса TPersistent который умеет сохранять иерархию объектов унаследованных от TPersistent и соответственно загружать. Да и ещё все базовые компоненты в делфи поддерживают редактирование (изменение размеров и т.д.) в режиме desine time, следовательно если суметь изменить эти свойства (ComponentState или что-такое), то можно вызвать это состояние в run time режиме.
Аватара пользователя
somewhere
Сообщения: 1837
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

11 май 2007, 10:39

Да можно и просто тупо кидать контролы на какую-нибудь панель, являющуюся рабочей областью. На MouseOver над контролами подвесится, на Canvas'e панели отрисовывать рамки, ну и все в том-же духе.
It's a long way to the top if you wanna rock'n'roll
Blood_Magic
Сообщения: 268
Зарегистрирован: 30 июн 2005, 14:53

11 май 2007, 14:49

с сохранением не вопрос собственно, это не проблема. меня больше всего интересует изменение положения и размеров на форме, а также редактирование свойств
- Чем юзер похож на обезьяну?
- Он жмет на все, что жмется, дергает все, что дергается и крутит все, что крутится.
- Чем юзер отличается от обезьяны?
- У обезьяны хватает ума не воспроизводить ту последовательность, которая приводит к краху системы.
Аватара пользователя
somewhere
Сообщения: 1837
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

11 май 2007, 15:08

Редактирование свойств можно делать через метод (не помню щас какого компонента) GetProperty & SetProperty - там в качестве параметров PropertyName, Component и Value - соответственно этот Component есть общий класс, от которого наследуются все контролы. Есть кажись и GetPropertyIndex;List - короче мне щас посмотреть надо, я раньше делал подобное.
It's a long way to the top if you wanna rock'n'roll
Аватара пользователя
somewhere
Сообщения: 1837
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

11 май 2007, 15:34

Вообщем во всем поможет юнит Design Editors
Там есть в частности
- TPropertyEditor, TComponentEditor
- Интерфейсы IComponentEditor, IProperty
It's a long way to the top if you wanna rock'n'roll
Аватара пользователя
SergeyS
Сообщения: 193
Зарегистрирован: 21 ноя 2006, 17:12
Откуда: Хакасия, Абакан
Контактная информация:

12 май 2007, 10:14

&quot писал(а):Вообщем во всем поможет юнит Design Editors
Не думаю что его можно использовать, он работает только при наличии IDE Delphi.
Рекомендую посмотреть следующие ссылки:
http://www.delphikingdom.com/asp/itemq. ... ItemID=279
http://www.delphikingdom.com/asp/viewit ... logid=1212
http://www.delphikingdom.com/asp/itemq.asp?ItemID=553
Blood_Magic
Сообщения: 268
Зарегистрирован: 30 июн 2005, 14:53

13 май 2007, 12:27

вроде получилось,
спасибо всем участникам
- Чем юзер похож на обезьяну?
- Он жмет на все, что жмется, дергает все, что дергается и крутит все, что крутится.
- Чем юзер отличается от обезьяны?
- У обезьяны хватает ума не воспроизводить ту последовательность, которая приводит к краху системы.
Ответить