function passfocus(optional direction as long=1) as boolean
on error goto errhdl
passfocus=true
for each ctl in controls
if ctl.tabindex=activecontrol.tabindex+direction then
ctl.setfocus
exit function
end if
next ctl
exit function
errhdl:
passfocus=false
end function
При удалении элемента, меняются TabIndex'ы у оставшихся элементов
function passfocus(optional direction as long=1) as long
on error resume next
passfocus=0
for each ctl in controls
if ctl.tabindex=activecontrol.tabindex+direction then
ctl.setfocus
if err.number=438 then passfocus=-1
exit function
end if
next ctl
errhdl:
passfocus=-2
end function
Sun07 писал(а):Подскажите лучший способ передачи фокуса на контрол с tabindex меньше или больше на 1 от активного. Хотя у меня в проге при удалении контролов остаются разрывы между tabindex больше 1 Нужна навигация по контролам textbox и др. с помощью клавиш -стрелок.
RayShade писал(а):Andrey Fedorov
Вот именно, что думать то нафиг.
А если мне надо в edit box текстан поправить? Тоже отправишь меня, по контролам прыгать?
Private Sub tx_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyUp
KeyCode = 0
SendKeys "+{TAB}"
Case vbKeyDown
KeyCode = 0
SendKeys "{TAB}"
End Select
End Sub
Это ты наверное мой прикол про звездочки не знаешь... Пользователи бывают ОЧЕНЬ разные!Viper! писал(а):Что ж это за пользователи такие, что не знают про навигацию при помощи TAB и Shift+TAB?
Сейчас этот форум просматривают: AhrefsBot и гости: 169