Как визуально спроектировать компонент в C ++ Builder? - PullRequest
5 голосов
/ 26 февраля 2010

Я был в отъезде с C ++ уже пару лет и сейчас работаю над AS3 / Flex. Я привык создавать компоненты и переводить их в режим разработки с минимальными усилиями, и я изо всех сил пытаюсь понять, как C ++ Builder делает то же самое.

В прошлом я написал много компонентов для C ++ Builder, но ни один из них не был визуальным. Теперь я хотел бы создать компонент для поиска клиентов, а другой - для обработки заказов, потому что я хочу иметь возможность создавать их новые на лету. Чего я не хочу делать, так это помещать каждый из компонентов, таких как dbgrid и поля поиска, вручную в код. Я хотел бы сделать это (а также установить их свойства) в режиме дизайна.

Как мне это сделать? Я просмотрел исходный код для других компонентов Delphi и заметил, что у них есть файлы dfm, которые, как мне кажется, мне и нужны. Как мне сделать это в C ++ Builder? Единственный вариант, который я вижу, - это добавить новую форму, если мне нужен dfm, но это не то, чего я хочу, поскольку мои компоненты будут основаны на TPanel.

Есть ли способ сделать это, или я должен прибегнуть к тому, чтобы делать все это в коде без визуальной ссылки?

Следуя идее DFM, сегодня утром я провел тест, в котором я создал компонент на основе TPanel и добавил к нему новую форму, которую я создаю и помещаю в родительский конструктор компонента. В режиме дизайна я установил границу формы на none и поместил на нее сетку. Все это выглядит нормально, пока я не помещу компонент в свое приложение, в этот момент он выглядит как панель со стандартной формой в нем и сетка отсутствует. Если я запускаю приложение, панель отображается, как и ожидалось, без полей и с сеткой. DFM почему-то игнорируется в режиме разработки по некоторым причинам.

Если вы знаете лучший способ сделать это, чем использование компонентов, пожалуйста, дайте мне несколько советов.

Любая помощь и совет будут оценены за пределами слов

Ответы [ 2 ]

4 голосов
/ 26 февраля 2010

Так же, как элемент FYI, вы также можете опустить панель на форму, поместить на нее любые другие элементы управления, расположить их, установить подписи и т. Д.

Теперь щелкните панель, чтобы выбрать ее, и используйте Component-> Create Component Template из главного меню IDE. Это создает модуль, который вы можете установить как компонент, который добавит панель и ее элементы управления (как один компонент) в палитру компонентов IDE.

Конечно, вы можете затем изменить источник для этого нового компонента, как и любой другой источник компонента.

4 голосов
/ 26 февраля 2010

Возможно, вы захотите взглянуть на кадров (ищите "Объекты кадров"). Они являются «подформами», которые вы можете создать визуально, а затем поместить в формы.

...