Вам понадобится
- Среда разработки Delphi.
Инструкция
1
Выберите тип создаваемого компонента. Он может быть объектом Windows-элемента, графического элемента, элемента управления или невизуального компонента. Также ваш объект может являться наследником любого уже существующего класса. Определитесь с функциями, реализацию которых вы назначите компоненту.
2
Запустите среду разработки Delphi. В основном меню приложения откройте пункты Component, New Component. В появившемся диалоговом окне в поле Ancestor Type выберите класс компонента, который вы хотите модифицировать. Если вы не используете наследование, в поле Class Name просто введите имя нового компонента, начинающееся на букву "T". В поле Palette Page напишите имя закладки компонента после установки, далее нажмите кнопку Create Unit. Автоматически среда разработки сгенерирует шаблон нового компонента. Пример формируемого кода на языке Pascal:
unit MyBtn;
interface
uses
Windows, SysUtils, Messages, Classes, Controls, Graphics, Forms, StdCtrls, Dialogs;
type
TMyBtn = class(TButton)
private
protected
public
published
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('MyComponents', [TMyBtn]);
end;
end.
При этом сформирован не только новый класс TMyBtn на основе стандартного класса кнопки TButton, но также описана процедура регистрации нового компонента в палитре компонентов.
unit MyBtn;
interface
uses
Windows, SysUtils, Messages, Classes, Controls, Graphics, Forms, StdCtrls, Dialogs;
type
TMyBtn = class(TButton)
private
protected
public
published
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('MyComponents', [TMyBtn]);
end;
end.
При этом сформирован не только новый класс TMyBtn на основе стандартного класса кнопки TButton, но также описана процедура регистрации нового компонента в палитре компонентов.
3
Опишите в директиве private все поля, процедуры и функции, которые вам нужны для создания компонента, причем они будут иметь статус скрытых. Укажите имя поля (с буквы "F"), его тип. Например, запись вида FDatas:integer описывает переменную FDatas целочисленного типа. В разделе protected перечислите необходимые вам обработчики событий, например от нажатия клавиш клавиатуры или мыши. Причем при наследовании класса необходимо ставить ключевое слово override – для перекрывания родительского обработчика стандартного события. Так, запись procedure Click; override обеспечивает перехват щелчка мыши по кнопке.
4
Доступные пользователю функции и процедуры компонента описываются в директивах рublic и рublished, например, с помощью записи вида: function TSysInfo.GetUser: string или property MachName: string. В последней директиве при использовании слова property можно указать свойства, которые будут доступны в инспекторе объектов.
5
Напишите сам код функционирования компонента в объявленных процедурах и функциях. Пример кода обработчика:
function MachName: string;
var
р: integer;
с: PChar;
begin
с := stralloc(р);
end;
end.
function MachName: string;
var
р: integer;
с: PChar;
begin
с := stralloc(р);
end;
end.
6
Установите компонент в нужный вам проект. В главном меню среды Delphi выберите пункты Component, Install Component. В появившемся диалоговом окне откройте одну из закладок: Into exsisting Package, если хотите установить компонент в существующий пакет, или Into new Package – в новый. Нажмите кнопку Ок и подтвердите запрос приложения на перезапись пакета (при необходимости). После чего написанный компонент будет готов к использованию.
Видео по теме