Создание заготовки для нового компонента
После выбора класса-предка для компонента можно приступать к созданию модуля компонента. Создание модуля (заготовки) для нового компонента можно выполнить путем вызова окна Delphi, которое называется экспертом компонентов(Component Expert).Данное окно можно вызвать путем выбора в главном меню Delphi пункта Component / New Component(Компонент / Новый компонент) или File / New / Other и в появившемся окне выбрать Component. При этом появляется окно, изображенное на рисунке 1.
Рис. 1. Эксперт для создания нового компонента.
В диалоге в поле Ancestor typeнужно указать имя класса-предка для нового компонента. Это поле ввода содержит в выпадающем списке все зарегистрированные классы библиотеки VCL. Предположим, что мы будем создавать компонент, предком которого является кнопка TButton. Для этого выберем в выпадающем списке класс TButton. Поле Class Nameпредназначено для ввода имени нового класса. Пусть в нашем случае это будет новый класс TMyButton. Поле Palette Pageпоказывает, на какой вкладке палитры компонентов будет расположен новый компонент после его регистрации. Оставим в этом поле значение, предлагаемое Delphi по умолчанию Samples. Два следующих поля Unit file name и Search pathзаполняются средой Delphi самостоятельно, но разработчик может их изменить. В поле Unit file nameуказывается имя модуля регистрации (полный путь к файлу с расширением pas, в котором содержится процедура регистрации). В поле Searchpath указываются пути поиска модуля регистрации.
После заполнения полей данного окна нажимаем кнопку ОК, и Delphi автоматически создаст заготовку модуля нового компонента:
unit MyButton;
interface
uses
SysUtils, Classes, Controls, StdCtrls;
type
TMyButton = class(TButton)
private
{ Private declarations }
protected
{ Protected declarations }
public
{ Public declarations }
published
{ Published declarations }
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('Samples', [TMyButton]);
end;
end.
Модуль содержит декларацию нового класса и процедуру его регистрации в Палитре Компонент. В процедуре RegisterComponentsпервый параметр - имя страницы (можно указать свое имя - появится новая страница); второй параметр - множество объектов для регистрации.
Дата добавления: 2015-09-07; просмотров: 1012;