Как скрыть свойства объекта?

Как скрыть свойства объекта?

В иерархии VCL в большинстве случаев существует уровень объектов-”предшественников”
(TCustomXXXX), в которых многие свойства скрыты. Для унаследованных от таких
“предшественников” объектов можно “открывать” на выбор те или иные свойства.
А как можно сокрыть свойства, которые объявлены в published-области
от Object Inspector’а, но при этом оставить возможность доступа во время
работы программы? Решение состоит в объявлении свойства “по новой” в public-области.
В примере скрытым будет у объекта TMyControl свойство Height.

TMyControl = class(TWinControl)
protected
  procedure SetHeight(Value: Integer);
  function GetHeight: Integer;
public
  property Height: Integer read GetHeight write SetHeight;
end;
procedure TMyControl.SetHeight(Value: Integer);
begin
  inherited Height := Value;
end;

function TMyControl.GetHeight;
begin
  Result := inherited Height;
end;

Комментариев Нет.

Написать Ответ

Вы должны войти чтобы оставить комментарий.