| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Как скрыть __published свойство |
| Автор: Vyacheslav 3.6.2002, 13:44 | |
| Речь идет о сокрытии опубликованных свойств компонента-предка в производном компоненте. Скрыть "штатно" опубликованное свойство нельзя. Поэтому разработчики как правило в иерархию вставляют промежуточный класс TCustomXXX, который отличается от конечного класса TXXX только тем, что в нем не опубликованы добавленные разработчикрм свойства. Если такой Custom компонент есть, то лучше свои компоненты порождать от него, публикуя выборочно только те свойства, которые нужны. Если такого компонента нет, или по какой-то причине хочется использовать конечный компонент, то можно немного cхитрить, объявив в своем компоненте свойство с таким же именем и типом. При этом у свойства, как минимум, не должен быть задан атрибут write. В нижеследующем примере у TMyComponent скрывается свойство Tag Исходный код:
Правда программно придется к Tag обращаться, используя полную квалификацию типа TMyComponent* c = new TMyComponent(this); c->TComponent::Tag = 1; |