|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.12.2007, 16:26 | #1 |
Новичок
Джуниор
Регистрация: 20.12.2007
Сообщений: 1
|
Переопределение реакции на события
1. у объекта есть свойство процедурного типа, в котором хранится обработчик на определенное событие. например, TTreeView.OnAddition
2. при наступлении события этот обработчик берется у свойства через аккессор (в общем случае) read, и управление передается уже внутрь обработчика. 3. если это так, то возможно ли в потомке TTreeView переопределить функцию-акессор свойства OnAddition так, чтобы она возвращала не просто значение поля FOnAddition, а некоторую процедуру? Переопределяю свойство в потомке следующим образом: TExTreeView = class(TTreeView) strict private function GetOnAddition: TTVExpandedEvent; ... published property OnAddition read GetOnAddition; end; ... function TExTreeView.GetOnAddition: TTVExpandedEvent; begin Result := ExOnAddition; end; procedure TExTreeView.ExOnAddition(Sender: TObject; Node: TTreeNode); var t: TTVExpandedEvent; begin t := inherited OnAddition; if Assigned(t) then t(Sender, Node); SomeMyActions(Sender, Node); end; в общем, делаю так, и ничего не получается по идее, даже если FOnAddition будет пуста, то все равно должны выполняться какие-то действия SomeMyActions, но этого не происходит. п.с. если же в конструкторе TExTreeView свойству OnAddition присвоить каку-нибудь тестовую процедуру типа TTVExpandedEvent, то при добавлении нового узла она будет выполняться, но управление внутрь ExOnAddition так и не передается Последний раз редактировалось ByWatt; 20.12.2007 в 16:48. |
20.12.2007, 17:22 | #2 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Почитайте вот эту статейку:
http://ed.nko13.ru/index.php?page=6&ar=58 Все не очень сложно. Немного терпения при чтении и... Думаю, это - именно то, что вам нужно... |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
События для DBGrid | Максим_Леонидович | Компоненты Delphi | 1 | 08.08.2008 22:43 |
Переопределение операций(сложение,вычитание...) | master_root | Общие вопросы Delphi | 3 | 18.06.2008 20:20 |
Переопределение операций | toeman | Общие вопросы C/C++ | 2 | 20.11.2007 11:21 |
События для DBGrid | Repz | БД в Delphi | 3 | 11.08.2007 09:37 |
Перехват события | juden | Общие вопросы Delphi | 5 | 23.05.2007 12:21 |