Переопределение стандартного обработчика событий
От: Kross Россия  
Дата: 14.02.05 13:55
Оценка:
Доброго времени суток. Столкнулся с следующей проблемой.
При обработке события

Private Sub Combo1_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
'Some code
End Sub


отрабатывает все-таки и стандартный обработчик контрола ComboBox.
Каким образом отключить его ?
Заранее спасибо.
Re: Переопределение стандартного обработчика событий
От: hermit. Россия  
Дата: 14.02.05 16:08
Оценка:
Здравствуйте, Kross, Вы писали:

K>Доброго времени суток. Столкнулся с следующей проблемой.

K>При обработке события

K>
K>Private Sub Combo1_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
K>'Some code
K>End Sub
K>


K>отрабатывает все-таки и стандартный обработчик контрола ComboBox.

K>Каким образом отключить его ?
K>Заранее спасибо.

Сделай у формы KeyPreview = True и Обрабарывай сначала у формы или установи Hook (SetWindowsHook(Ex))
... << RSDN@Home 1.1.3 stable >>
The darkness around me
Shores of solar sea
Oh how i wish to go down with the sun....
Re[2]: Переопределение стандартного обработчика событий
От: Kross Россия  
Дата: 14.02.05 19:08
Оценка:
Дело в том , что формы ,как таковой и нет.
Это ActiveX объект , с интерфейсом ComboBox и немного измененным функционалом.
Возможно ли унаследовать от базового класса ComboBox свой класс и переопределить методы ?
Если да , то можно примерчик...
Спасибо
Re[3]: Переопределение стандартного обработчика событий
От: hermit. Россия  
Дата: 14.02.05 20:11
Оценка:
Здравствуйте, Kross, Вы писали:

K>Дело в том , что формы ,как таковой и нет.

K>Это ActiveX объект , с интерфейсом ComboBox и немного измененным функционалом.
K>Возможно ли унаследовать от базового класса ComboBox свой класс и переопределить методы ?
K>Если да , то можно примерчик...
K>Спасибо
Нет. Сабклассинг невозможен... к сожалению... Тогда только Hook причем, скорее всего, из DLL, дабы был глобальным, и из него фильтровать по HWND.
Хотя... Ну у тебя же в ActiveX-е есть форма?? Ну в ней и обрабатывай просто заранее задай ей свойства...
... << RSDN@Home 1.1.3 stable >>
The darkness around me
Shores of solar sea
Oh how i wish to go down with the sun....
Re: Переопределение стандартного обработчика событий
От: Bigger Российская Империя  
Дата: 15.02.05 08:48
Оценка:
Здравствуйте, Kross, Вы писали:

K>Доброго времени суток. Столкнулся с следующей проблемой.

K>При обработке события

K>
K>Private Sub Combo1_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
K>'Some code
K>End Sub
K>


K>отрабатывает все-таки и стандартный обработчик контрола ComboBox.

K>Каким образом отключить его ?
K>Заранее спасибо.

Попробуй после своей обработки следущее

Private Sub Combo1_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
   'Some code
   Index = 0
   KeyCode = 0
   Shift = 0
End Sub

Программист — это шаман..., подарите бубен!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.