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

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

Свойство предка


Бывший студент ©   (2005-04-26 14:38:00) 

Необходимо скрыть published свойство ColCount в потомке TStringGrid'а. Я знаю, что нельзя понижать видимость, но может быть есть способ заблокировать свойство. Заранее благодарен.


Бывший студент   (2005-04-26 17:32:00) [1]

Спасибо. Это временная мера, пока нет обоюдной синхронизации.


Юрий Зотов   (2005-04-26 17:13:00) [2]

> Бывший студент ©   (26.04.05 14:38)  

> Необходимо скрыть published свойство

Зарегистрируйте для него редактор, указав nil вместо класса редактора. Из OI оно исчезнет, но в коде останется доступным.

Только не тем путем Вы пошли. Не свойство прятать надо, а синхронизировать его с Вашей коллекцией. Обоюдная синхронизация должна быть - и с той, и с другой стороны. Иначе кустарщина получится, а не нормальный компонент.


-=XP=-   (2005-04-26 16:21:00) [3]

1. if not (csDesigning in ComponentState) then - блокировать только в Design Time.

2. Объявить вторичное свойство, и пользоваться им

type
 TEditEx = class(TEdit)
 private
   function GetText: string;
   procedure SetText(AText: string);
   function GetTextEx: string;
   procedure SetTextEx(AText: string);
 published
   property Text: string read GetText write SetText;
   property TextEx: string read GetTextEx write SetTextEx;
 end;

function TEditEx.GetText: string;
begin
 Result := inherited Text;
end;

function TEditEx.GetTextEx: string;
begin
 Result := inherited Text;
end;

procedure TEditEx.SetText(AText: string);
begin
 ShowMessage('Locked');
end;

procedure TEditEx.SetTextEx(AText: string);
begin
 inherited Text := AText;
end;


Только вот зачем? Ну, хозяин - барин.


Бывший студент   (2005-04-26 15:51:00) [4]

При переопределении получается заблокировать его совсем, а мне хотелось бы только в инспекторе объектов.


Бывший студент   (2005-04-26 15:15:00) [5]

Использование TStringGrid принципиально. Сейчас пробую переопределять.


-=XP=-   (2005-04-26 15:10:00) [6]

1. Использовать в качестве предка TCustomDrawGrid
2. Переопределить свойство (?)


Наверх

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