Ну вот и пришло время расказать как можно создать простейший компонет
для всеми любимого языка Delphi 5.0. Надеюсь всем известно что такое
компонент и зачем он нужен. Если нет, то есть единственное лекарство
- часик поработать в системе Delphi. Ну а теперь , собственно, как его
этот многострадальный компонент создать: в этой статье я затрону наипростейший
случай - создание компонента на основе технологии frame широко применяющейся
в Delphi. Процесс создания я поясню на основе примера. Пусть необходимо
создать компонент TEditFileName, который позволяет ввести имя файла
с клавиатуры или вызвать стандартный OpenDialog.Ну что для этого нужно?
Наверно всего три стандартных компонента - TEdit, TButton, TOpenDialog.Но
их куда-то надо кинуть! Для этого нам и понадобится создать frame.(В
главном меню Delphi выбрать File \ New Frame).В соответствие своим взглядам
на дизайн разместите на ней компоненты и измените её размеры. Я например
сделал что-то вроде этого:
Вы спросите - где-ж здесь TOpenDialog? Он на самом деле есть, но хорошо
спрятан.При нажатии на кнопку с пиктограмкой папки с надписью диалог
этот самый TOpenDialog и должен появиться. Для сего вставим такой обработчик
нажатия на кнопку:
procedure TFrame1.DialogClick(Sender: TObject);
var OpenDialog:TOpenDialog;
begin
OpenDialog:=TOpenDialog.Create(Application);
Opendialog.execute;
if opendialog.filename<>'' then Path.Text:=opendialog.filename; OpenDialog.Destroy;
end;
Ну вроде все отладили... Работать - будет! Теперь самая приятная и
греющая сердце процедура - регистрация нашего компонента в системе.
Для этого щелкаем на нашем frame правой кнопкой и выбираем пункт Add
To Pallete и получите такое окно:
В нем можно указать имя компонента , вкладку в Delphi , где он будет
находиться и загрузить иконку для компонента (24х24 bitmap). После нажатия
на 'ok' можно будет посмотреть как выглядит ваш компонент в ряду других
компонентов предлагаемых Delphi.
Надеюсь дойдут мои руки и до более сложного случая (когда все вручную)
а пока придется вам довольствоваться этой информацией...
Да и еще совсем забыл - технология frames реализована только в версиях
языка Delphi 5.0 и более новых...