2010-02-26 1 views
5

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

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

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

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

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

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

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

ответ

4

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

+0

безупречный! спасибо :) –

4

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

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

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

+0

Действительно ли это создает единицу? –

+0

Полезно знать, я дам ему попробовать, спасибо Ken –

+0

@Ulrich: Да. Он фактически создает составной компонент, который вы можете установить в палитру компонентов. –

Смежные вопросы