Delphi. Как скрыть свойства объекта?
В иерархии 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;


