| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Как убрать событие родителя из секции __published |
| Автор: np9mi7 21.8.2005, 20:51 | ||
| Добрый день. Написан визуальный компонент: TCheckListView; Он наследник TListView, и использует два события родителя: OnChange & OnChanging. Залача - убрать эти два события из Object Inspector; Мне казалось что это решается тривиально строкой:
Компилятор этот текст воспринял, но вот Object Inspector никак, те события OnChange & OnChanging остались доступными, и на них свободно можно навесить обработчики. Вопрос: как сделать недоступными эти события? И вообще как скрывать __property из секции __published базового класса у наследника? ЗАранее благодарен за ответы. |
| Автор: Vyacheslav 22.8.2005, 14:43 | ||||
Во-первых, для создания соего компонента лучше использовать TCustomListView. Он как раз и предназначен чтобы программист, мог открыть для доступа только нужные совейства и методы. Если посмотришь на хидер , то увидишь , что в различе TListView только в опубликовании свойств. Поэтому Вам следовало поступить также: не пытаться закрывать уже открытое у TListView , а окрыть закрытое в TCustomListView. Ну а если лень переделывать, могу предложить следующее. Поскольку даже опубликованнон свойство выпадает из инспектора если не задать метод чтения, то можно просто переопределить это свойство типа
PS. Здесь stored к делу отношения не имеет . Главное, что не задан метод чтения. И обязательно указание типа. Тем самым перекрывается свойство родителя перекрывается совершенно левым. Доступ к родительскому можно получить посредством непосредсвенного обращения. Можно попробовать так
Возможно тоже пройдет |
| Автор: np9mi7 22.8.2005, 16:22 |
| Vyacheslav, Вы как всегда мне очень помогли, спасибо Вам большое! |
| Автор: tigger 23.8.2005, 11:27 | ||
| Убрать любое свойство родителя в потомке можно еще вот так: в данном случае из Object Inspectora убираем OnChange и OnChanging
|
| Автор: np9mi7 24.8.2005, 20:46 |
| tigger, спасибо, но я сделал как Vyacheslav посоветовал, те отнаследовался от TCustomListView |