Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Caption у компонента


Страницы:   1 2

Sedik ©   (2006-08-03 10:14:00) 

Добрый день!
Создаю компонент

TMyComponent = class(TWinControl)
private
 FLabel: TLabel;
 function GetCaption: string;
 procedure SetCaption(const Value: string);
public
 constructor Create(AOwner: TComponent); override;
published
 property Caption: string read GetCaption write SetCaption;
end;
...

constructor TMyComponent.Create(AOwner: TComponent);
begin
 inherited;
 FLabel := TLabel.Create(self);
 FLabel.Parent := self;
end;

function TMyComponent.GetCaption: string;
begin
 Result := FLabel.Caption;
end;

procedure TMyComponent.SetCaption(const Value: string);
begin
 FLabel.Caption := Value;
end;

Теперь свойство Caption у компонента изменится только после того, как мы в инспекторе объектов в Caption введем строку и нажмем Enter. А как сделать, чтобы Caption менялся после изменения каждого символа (без нажатия Enter) в инспекторе объектов, как например у компонента TLabel?


Юрий Зотов   (2006-08-03 14:27:00) [21]

Или просто заменить у свойства тип string на TCaption.
:о)


DimaBr   (2006-08-03 12:00:00) [22]

зарегистрировать для свойства соответствующий редактор

TMyCaptionProperty = class(TStringProperty)
 function GetAttributes: TPropertyAttributes;override;
end;

function TMyCaptionProperty.GetAttributes: TPropertyAttributes;
begin
 Result := inherited GetAttributes + [paAutoUpdate];
end;

RegisterPropertyEditor(TypeInfo(string), TMyComponent, 'Caption', TMyCaptionProperty);


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо