Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C++ Builder > наследование событий |
Автор: DareDevil225 30.12.2008, 09:24 | ||
Приветствую! Возникла проблема, целый день уже не могу найти решения, прошу Вашей помощи. Есть ActiveX компонент. С помощью билдера создаю обертку(New VCL Component) над данной DLL-кой. Создаю свой новый класс, который наследую от сгенерированного класса-обертки и оформляю его в Package. В ActiveX компоненте обрабатывается событие EventsMouseMove. Но, в сгенерированной обертке, которая является наследником от TOleControl, тоже есть событие MouseMove. Пытаюсь унаследовать эти события в производном классе так:
События появляются в Object Inspector в списке Events. Объявляю обработчики на эти события. OnMouseMove событие приходит, а OnEventMouseMove - нет. Кто-нибудь встречался с таким наследованием от ActiveX компонента? В чем может быть проблема? Т.е. другими словами, как обрабатывать сообщения, в VCL-компоненте, основанном на ActiveX-компоненте( не VCL-ском )?. Может у кого-нибудь есть какие предположения? |
Автор: DareDevil225 30.12.2008, 14:21 |
Неужели никто не знает что можно придумать? ![]() |
Автор: Romikgy 30.12.2008, 14:39 |
а чье это чудо? |
Автор: DareDevil225 11.1.2009, 14:52 |
Romikgy, того, кто писал ActiveX компонент. Видимо там так переопределяется стандартный OnMouseMove. |
Автор: Romikgy 11.1.2009, 15:11 |
ну тогда для нормальных подсказок надо видеть код того по чему подсказываешь, ибо у нет а что туда засунул ты или другой разработчик , про 17 строку знаешь ? |
Автор: DareDevil225 11.1.2009, 16:48 |
Romikgy, что нет такого эвента я понимаю, в том -то и дело, что нужно к стандартным добавить те, которые определены в ActiveX-компоненте. А что за 17 строка? Честно, я такого понятия просто не слышал |
Автор: DareDevil225 12.1.2009, 11:43 | ||||
По сути этот эвент тоже отслеживает перемещение мыши, необходимо: - Если ActiveX-компонент уже обрабатывает стандартный эвент, то использовать хотелось бы оба - Если не обрабатывает, то необходимо использовать стандартный т.е. пример - OnMouseMove( стандартный) и OnEventMouseMove( из ActiveX ) - оба отлавливают перемещение мыши, необходимо использовать OnEventMouseMove и OnMouseMove - OnDblClick( стандартный ) и НЕТ в ActiveX - хотелось бы чтобы использовался стандартный Примерно так |
Автор: Romikgy 12.1.2009, 11:47 |
я ниче не понял , можно тоже но в коде? |
Автор: DareDevil225 12.1.2009, 11:47 | ||
Код есть только сгенерированной билдером обертки и все Суть же ActiveX-компонента в том и состоит, чтобы скрыть реализацию. Если же мне были бы доступны исходники самого компонента, этого вопроса и не возникло бы, поскольку бы все необходимое я реализовал бы в самом компоненте. |
Автор: Romikgy 12.1.2009, 12:04 |
то ли я в лыжах.... кто к кому от кого скрыть ? какой компонент у тя есть (обертка)? можно более точно выражатся? |