Создание компонент в DELPHI
Автор статьи: нет ©
Сайт Автора: нет
E-mail Автора: нет
Дата публикации: 25.04.2006
Перед созданием своего компонента нужно выбрать для него предка. Кто же
может быть предком для вашего компонента? unit OurOpenDialog; interface uses Windows, Messages, SysUtils, Classes, Graphics, Объявление компонента состоит из секций, таких как private, protected,
public и published. Что они означают? СвойстваСвойства типа масив - обычные массива Object Pascal, но в отличии от последних могут индексироваться не только числовыми значениями но и строковыми. К сожалению этот тип свойства требует пользовательского редактора свойств (в инспекторе объектов редактор свойства имеет кнопку с тремя точками [...]), по-этому в указанном ниже примере свойство ArrayProp объявлено в секции public. type
TOurComponent = class(TComponent)
private
{ Private declarations }
FArrayProp: array[0..9] of integer;
function GetArrayProp(aIndex: integer): integer;
procedure SetArrayProp(aIndex: integer; const
Value: integer);
protected
{ Protected declarations }
public
{ Public declarations }
property ArrayProp[aIndex: integer]: integer read
GetArrayProp
write SetArrayProp;
published
{ Published declarations }
end;
Спецификаторы свойствСпецификатор default указывает сохранять значение свойства в файле формы или нет. Если значение свойства совпадает со значением default - значение в файле формы не сохраняется, если значения не равны - сохраняется. Это можно проверить, положив компонент на форму и выбрать правой кнопкой мыши пункт меню "View as Text". Default не устанавливает первоначальное значение свойства к указанному. Это необходимо сделать в конструкторе компонента. unit OurComponent;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls;
type
TOurComponent = class(TComponent)
private
{ Private declarations }
FMyInteger: Integer;
protected
{ Protected declarations }
public
{ Public declarations }
constructor Create(AOwner: TComponent); override;
published
{ Published declarations }
property MyInteger: Integer read FMyInteger
write FMyInteger default 10;
end;
implementation
constructor TOurComponent.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FInteger := 10;
end;
end.
Спецификатор nodefault отменяет заданное по умолчанию
значение свойства. Этот спецификатор, как правило, используется для отмены
заданого по умолчанию значения унаследованного свойства. Спецификатор stored указывает когда сохранять в файле формы значение свойства. После stored может стоять true (всегда сохранять), false (никогда не сохранять) или название функции, которая возвращает логический результат. property OneProp: integer read FOneProp
write
SetOneProp
stored False;
property TwoProp: integer read FTwoProp
write
SetTwoProp
stored True;
property ThreeProp: integer read FThreeProp
write SetThreeProp
stored Fuct;
И последнее:Чтобы добавить картинку в компонент для демонстрации в панели компонентов надо: - создать ее размером 24*24 с именем файла.dcr (в ресурсе имя картинки равно имени компонента, заглавными буками) - картинку положить рядом с компонентом. |
|
"Создание компонент в DELPHI" Copyright © "В помощь Веб-Мастеру" (Alexander D. Belyaev) 2005-2007. Перепечатка материалов разрешается, только после письменного разрешения автора (e-mail). При перепечатке любого материала видимая ссылка на источник "В помощь Веб-Мастеру" и все имена, ссылки авторов обязательны. |
|
|