Передача фокуса соседним контролам из своего ActiveX контр.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
PSV
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 154
Зарегистрирован: 29.01.2002 (Вт) 12:30
Откуда: Россия

Передача фокуса соседним контролам из своего ActiveX контр.

Сообщение PSV » 07.11.2006 (Вт) 10:53

Хаюшки!

Взялся дорабатывать чужой ActiveX контрол кнопки и в желании полностью имитировать поведение стандартной кнопки столкнулся со следующей проблемой. У стандартной кнопки нажатие клавиш <вверх> или <влево> вызывает передачу фокуса предыдущему контролу (а <вниз> или <вправо> следующему контролу), в соответствии с TabIndex. Как _правильно_ реализовать такую функциональность в собственном ActiveX контроле кнопки?

EUGY
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 214
Зарегистрирован: 09.11.2006 (Чт) 22:51
Откуда: Мурманск

Сообщение EUGY » 09.11.2006 (Чт) 23:57

Вкратце: влезть в цикл сообщений родителя этого AXcontrol и проверять функцией IsDialogMessage все WM_.

PSV
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 154
Зарегистрирован: 29.01.2002 (Вт) 12:30
Откуда: Россия

Сообщение PSV » 14.11.2006 (Вт) 18:42

Ну зачем так извращаться, видимо меня не так поняли - у меня есть исходники чужого freeware контрола кнопки в основе которого UserControl, соответственно есть события UserControl_KeyDown и т.п. Если бы это была форма - то все ясно - идем по коллекции Controls и т.д. Вопрос как _корректно_ добраться до коллекции Controls родительской формы и передать фокус предыдущему или следующему контролу в соответствии с TabIndex, ну или как по другому это принято делать в подобных ActiveX.

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 14.11.2006 (Вт) 20:59

Sendkeys "{tab}"
Изображение

PSV
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 154
Зарегистрирован: 29.01.2002 (Вт) 12:30
Откуда: Россия

Сообщение PSV » 17.11.2006 (Пт) 12:43

keks-n писал(а):Sendkeys "{tab}"

То иесть из своего контрола своему же контролу посылать Tab, Shift-Tab - а поизящнее ничего нет? Или все так делают?


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8

    TopList