![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Правка компонента [D6, Win2k]
Сатир © (2002-11-06 14:40:00)как запретить редактирование read-only свойства Color в инспекторе объектов в таком компоненте:
TStyleColor = class(TCollectionItem)
private
fName:String;
fFormula: String;
fColor: TColor;
procedure SetName(const Value: String);
procedure SetFormula(const Value: String);
procedure SetColor(const Value: TColor);
protected
procedure SetDisplayName(const Value: string);override;
function GetDisplayName: string; override;
procedure CalculateColor;
public
constructor Create(Collection: TCollection); override;
procedure Assign(Source:TPersistent);override;
published
property Name: String read fName write SetName;
property Color: TColor read fColor;
property Formula: String read fFormula write SetFormula;
end;
Сатир (2002-11-06 16:41:00) [1]чтобы можно было просмотреть через инспектор объектов, какой цвет был получен в результате введённой формулы
Андрей Прокофьев (2002-11-06 15:20:00) [2]а зачам он published?
Сатир (2002-11-06 15:12:00) [3]>2)
какая разница, он всё равно в записи данного свойства в поток не участвует, просто зарезервирован, если надо будет редактировать
>1)
read-only properties по умолчанию не отображаются в инспекторе объектов, но если на нём кликнуть правой кнопкой, то в соответствующей закладке можно выставить галочку и на отображение последних, но в то же время, их поля становятся доступными для редактирования, и если пользователь данного компонента начитает выбирать в данном случае цвет из ниспадающего списка, получается Access violation at address 0000000. Поэтому нужно запретить редактирование последнего.
Skier (2002-11-06 14:44:00) [4]>Сатир
1) ???
2) А зачем тебе метод SetColor ?