Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Дизайнер компонентов


Автор: DarkProg 22.7.2013, 12:35
День добрый.
Мучаюсь одним вопросом, не могу понять как это можно сделать(и не могу понять как задать вопрос гуглу, чтобы получить ответ  smile ).

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

Кто-нибудь что-то может подсказать? Может есть что-то open-source близкое к тому что я хочу?

P.S. я встречал инспекторы которые могут изменять свойства в run-time, но это не совсем то что мне нужно, мне нужна возможность таскать элементы, возможность их двигать за уголки, вот такое.

Автор: Akella 22.7.2013, 15:26
задай гуглу вопрос: delphi form designer runtime


Я использую связку двух библиотек от greatis.com
дизайнер + http://greatis.com/delphicb/formdes/ + инспектор свойств http://greatis.com/delphicb/objinsp/

можно скрывать некоторые свойства, локализовать


Для сохранения/восстановления использую TMemInifile
Мне нужно сохранять/восстанавливать только некоторые свойства: размеры, положение, подпись, порядок перехода.

Добавлено через 5 минут и 14 секунд
Цитата(DarkProg @  22.7.2013,  12:35 Найти цитируемый пост)
 мне нужна возможность таскать элементы, возможность их двигать за уголки, вот такое. 


А так:
https://www.google.com/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&gfns=1&q=delphi+%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D1%89%D0%B5%D0%BD%D0%B8%D0%B5+%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82%D0%BE%D0%B2+%D0%B2+runtime ?

Автор: gesper 22.7.2013, 15:48
Цитата(Akella @ 22.7.2013,  15:26)
задай гуглу вопрос: delphi form designer runtime


Я использую связку двух библиотек от greatis.com
дизайнер + http://greatis.com/delphicb/formdes/ + инспектор свойств http://greatis.com/delphicb/objinsp/

можно скрывать некоторые свойства, локализовать


Для сохранения/восстановления использую TMemInifile
Мне нужно сохранять/восстанавливать только некоторые свойства: размеры, положение, подпись, порядок перехода.

Добавлено @ 15:31
Цитата(DarkProg @  22.7.2013,  12:35 Найти цитируемый пост)
 мне нужна возможность таскать элементы, возможность их двигать за уголки, вот такое. 


А так:
https://www.google.com/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&gfns=1&q=delphi+%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D1%89%D0%B5%D0%BD%D0%B8%D0%B5+%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82%D0%BE%D0%B2+%D0%B2+runtime ?

Пара вопросов:
1) Где ты был раньше...
2) Цена вопроса?
3) Сам инспектор объектов можно найти где то такой же, чтобы прикрутить к своему классу?

Цитата

возможность их двигать за уголки, вот такое.

Угол у компонента, а двигаешь ты за "Ручки".

Автор: DarkProg 22.7.2013, 17:26
Не совсем то что мне надо, я такое находил. 
Это сложновато объяснить, у меня тут хитрые формы, мне как бы абсолютное положение не обязательно знать. С одной стороны вроде как есть настраиваемые жестко величины, с другой есть куча относительных.
Мне по большому счёту нужно понять как сделать проще/правильнее так чтобы компоненты в runtime вели себя так же как и при обычной разработке, но свойства нужны свои(например у делфи нет возможности без написания доп кода чтобы при вводе значения в одно поле сразу становилось доступным для редактирования другое или наоборот, у меня такое по галочке и событию регулируется, галочка отмечает что за событием надо следить).
Одна из проблем которые нужно решить, это возможность выделить несколько компонентов в группу, т.е. как с зажатым Shift и потом выполнять какие-то манипуляции.
Я думаю так будет понятнее что мне требуется, или по крайней мере хоть куда копать.

Цитата(gesper @  22.7.2013,  15:48 Найти цитируемый пост)
Угол у компонента, а двигаешь ты за "Ручки". 

Буду знать )

Цитата(gesper @  22.7.2013,  15:48 Найти цитируемый пост)
Сам инспектор объектов можно найти где то такой же, чтобы прикрутить к своему классу?

К своему классу нужно самому руками настраивать я думаю, есть реализации от DevExpress и TMS. И ещё реализации встречал тоже.
Сам пользуюсь от TMS.

Автор: northener 22.7.2013, 22:44
Могу лишь предложить грамотный способ в рантайме мышкой перетаскивать компоненты и менять их размеры.

Автор: Akella 23.7.2013, 09:57
Цитата(gesper @  22.7.2013,  15:48 Найти цитируемый пост)
3) Сам инспектор объектов можно найти где то такой же, чтобы прикрутить к своему классу?

не знаю про прикрутить
знаю, что дизайнеров не много, а вот инспекторов есть выбор

Добавлено через 1 минуту и 37 секунд
Цитата(DarkProg @  22.7.2013,  17:26 Найти цитируемый пост)
Одна из проблем которые нужно решить, это возможность выделить несколько компонентов в группу, т.е. как с зажатым Shift и потом выполнять какие-то манипуляции.

гретис это может

Добавлено через 2 минуты и 34 секунды
Цитата(DarkProg @  22.7.2013,  17:26 Найти цитируемый пост)
Мне по большому счёту нужно понять как сделать проще/правильнее так чтобы компоненты в runtime вели себя так же как и при обычной разработке,

ну да, так себя и ведут, можно выделять несколько или одну компоненту, можно таскать их

Добавлено через 2 минуты и 40 секунд
менять размеры

Добавлено через 3 минуты и 42 секунды
Цитата(DarkProg @  22.7.2013,  17:26 Найти цитируемый пост)
но свойства нужны свои(например у делфи нет возможности без написания доп кода чтобы при вводе значения в одно поле сразу становилось доступным для редактирования другое или наоборот


да, не совсем понятно
ты хочешь добавить свойство и чтобы оно отображалось в инспекторе объектов?

Автор: DarkProg 23.7.2013, 14:51
Цитата(Akella @  23.7.2013,  09:57 Найти цитируемый пост)
ты хочешь добавить свойство и чтобы оно отображалось в инспекторе объектов? 

Мне стандартные свойства в большинстве своём мало интересны. У меня других вагон. Мне нужно некий массив объектов объединить в группу, эту группу можно настраивать по определённым свойствам, причём как бы статичного очень мало, ширина и высота обсчитаются в зависимости от доступного пространства.
У меня с инспектором мало проблем. Мне нужно чёткое определение группы, больше отобразить и чтобы на неё было возможно счёлкнуть и произвести изменение свойств группы, при этом свойства группы не являются просто перечислением свойств объекта ))) Видимо тут логика совсем ломается  smile 
Как бы просто нарисовать границы группы я могу например используя TShape без заливки, именно так и получилось сделать. Просто хотелось бы более элегантное решение, при этом так чтобы отображение было более очевидным.
Мне бы хотелось чтобы компонент вёл себя как в дизайнере Delphi, т.е. например при нажатии на обычное текстовое поле у меня не курсор появлялся, а "ручки" и становилось очевидно что компонент сейчас в режиме редактирования.

Автор: Akella 24.7.2013, 16:57
smile

Добавлено через 51 секунду
Цитата(DarkProg @  23.7.2013,  14:51 Найти цитируемый пост)
Мне бы хотелось чтобы компонент вёл себя как в дизайнере Delphi, т.е. например при нажатии на обычное текстовое поле у меня не курсор появлялся, а "ручки" и становилось очевидно что компонент сейчас в режиме редактирования. 


ну так а я теке что предлагаю?

уже б давно установил и поигрался  smile 

Автор: northener 25.7.2013, 00:44
Цитата(Akella @  22.7.2013,  15:26 Найти цитируемый пост)

Добавлено через 5 минут и 14 секунд
Цитата(DarkProg @  22.7.2013,  12:35 Найти цитируемый пост)
 мне нужна возможность таскать элементы, возможность их двигать за уголки, вот такое. 


А так:
https://www.google.com/search?ie=UTF-8&...+%D0%B2+runtime ? 


Тогда уж лучше так. Вариант от Peter Below:
https://groups.google.com/forum/#!msg/fido7.ru.delphi.chainik/qSyBkBFsAdw/Bby1eqX2JvoJ

Автор: Akella 25.7.2013, 09:28
лучше?
обоснуй

Добавлено через 17 секунд
или ты просто хотел показать, что есть другой способ/вариант?

Автор: northener 25.7.2013, 12:51
Цитата(Akella @  25.7.2013,  09:28 Найти цитируемый пост)
лучше?
обоснуй

Во-первых по твоей ссылке я нашел только перемещение компонент, а по моей и перемещение и изменение размеров. Во-вторых по моей ссылке реализовано и изменение вида курсора как при наведении его на компонент (crHandPoint) так и соответствующие двунаправленные стрелочки при наведении курсора на границы компонента (вертикальные, горизонтальные и углы). Согласись что для дизайнера такой вариант лучше.

Автор: Akella 25.7.2013, 13:11
Цитата(northener @  25.7.2013,  12:51 Найти цитируемый пост)
Во-первых по твоей ссылке я нашел только перемещение компонент

### smile

Добавлено через 1 минуту и 29 секунд
http://greatis.com/delphicb/formdes/
+ 
http://greatis.com/delphicb/formdes/features.html

тебе перевести или сам сможешь ;)

Автор: northener 25.7.2013, 13:22
Посмотри внимательно что именно из твоего ответа я цитировал. И сравнивай сравнимое smile

Автор: Akella 25.7.2013, 14:22
мало ли что ты цитировал
факт в том, что я советовал не только то, что ты процитировал потом ;)

Автор: bems 26.7.2013, 15:26
Модератор: Давайте вернёмся к теме обсуждения.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)