![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Свойство предка
Бывший студент © (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. Переопределить свойство (?)