2017-02-19 21 views
0

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

Это позволяет мне создавать различные tAdvPage. (например, панель инструментов) Подумайте о MsOffice, где у вас есть такие страницы; Файл, дом, макет страницы, данные и т. Д.

Я нахожусь в том, что хочу повторно использовать страницы, которые я создал в других приложениях.

Например, у моей «Данные» есть все элементы управления, необходимые для обработки последовательных данных либо через порт RS 232, либо через сеть.

Моя страница «Данные»:

Img

В настоящее время я скопировать и вставить страницу и все связанные кода от одного приложения к другому.

Уверен, что мне не нужно объяснять, как это непрактично.

Из-за отсутствия лучшего слова или, может быть, это правильное слово, я хотел бы создать производный компонент, который я мог бы перетащить в свои приложения из палитры инструментов IDE. Этот «компонент» будет иметь все элементы управления +, чтобы быть самодостаточным. (например, небольшое приложение) Кроме того, если я изменил код компонента, он применим ко всему моему программному обеспечению, используя этот компонент. Конечно, мне нужно легко получить доступ ко всем элементам управления в «компоненте»; текстовые поля, поля со списком и т. д.

Я быстро взглянул на создание компонента и нашел, что он выглядит очень сложным, поскольку нет визуального элемента. (Некоторые из моих страниц более сложны, чем пример, который я предоставил)

Есть ли простой способ скопировать и вставить визуальные компоненты моей страницы + кода в «компонент». Если нет, как мне это сделать?

Я использую метод кадрирования перед тем, как прикрепить к панели панель с меньшим размером, но мне интересно, существует ли «чистый» способ сделать это.

Если бы кто-нибудь мог привести мне пример, я, скорее всего, смогу это выяснить. Увы, то, что я нашел в Интернете, немного смутило меня, и я не слишком уверен, что лучший подход.

Ex: Нарисуйте TButton + Tedit в Tpanel. кнопка нажата = «hello world» в поле редактирования. Создайте «компонент» из Tpanel. (Я могу, вероятно, взять его оттуда)

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

Спасибо, Е.

+0

Оказывается, я нашел ответ на эту тему: http://stackoverflow.com/questions/20723605/how-to-create- delphi-component-inherited-from-few-other-components –

ответ

0
type 
    TMyPager = class(TAdvToolBarPager) 
    private 
     .... 
    protected 
     procedure Click;override; 
    public 
     procedure MyNewProcedure; 
    published 
     property 
     ..... 
     ..... 
     constructor Create(aowner:Tcomponent); override; 
end; 

procedure Register; 

implementation 

procedure Register; 
begin 
    RegisterComponents('My Component', [TMyPager]); 
end; 

constructor TMyPager.Create(aowner:Tcomponent); 
begin 
    inherited create(Aowner); 
end; 

procedure TMyPager.Click; 
begin 
    inherited click; 
    ..... 
    ..... 
end; 

procedure TMyPager.MyNewProcedure; 
begin 
    ...... 
    ...... 
end; 

end. 
+0

Я ценю усилия, но он не дал достаточно подробностей, чтобы ответить на мой вопрос. Нашла ссылку, которая помогла мне разобраться. ура –