Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / переход в предыдущее поле формы / 24 сообщений из 24, страница 1 из 1
27.07.2004, 15:19:27
    #32623528
faint
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переход в предыдущее поле формы
как перейти в предыдущее поле формы не используя shift+tab?
в следующее поле можно уйти по KeyCode = vbKeyReturn, а в предыдущее как?
...
Рейтинг: 0 / 0
27.07.2004, 15:23:07
    #32623537
PA
PA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переход в предыдущее поле формы
Код: plaintext
1.
Set ctrlPrev = Screen.PreviousControl
ctrlPrev.SetFocus
...
Рейтинг: 0 / 0
27.07.2004, 15:27:02
    #32623551
kedzo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переход в предыдущее поле формы
Screen.PreviousControl.SetFocus
...
Рейтинг: 0 / 0
27.07.2004, 15:29:33
    #32623561
Roma R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переход в предыдущее поле формы
Программно "нажать" shift+tab

SendKeys "+{TAB}"
...
Рейтинг: 0 / 0
27.07.2004, 15:30:13
    #32623566
faint
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переход в предыдущее поле формы
не тот случай :)) хотя к поставленномы вопросу подходит без проблем.

уточню проблему: есть несколько полей на форме, вот как сделать так, чтобы например, по нажатию кнопки, курсор уходил бы влево на предыдущий контрол?
...
Рейтинг: 0 / 0
27.07.2004, 15:33:31
    #32623583
kedzo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переход в предыдущее поле формы
я так никогда не делал, но думаю это можно сделать так:
- создать свою коллекцию контролов
- заполнить ее в том порядке теми контролами, которыми нужно
- а дальше можно перемещаться по порядковым номерам коллекции и устанавливать фокус на нужный...
...
Рейтинг: 0 / 0
27.07.2004, 15:38:28
    #32623603
Roma R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переход в предыдущее поле формы
Используй одновременно

Screen.PreviousControl.SetFocus
SendKeys "+{TAB}"
...
Рейтинг: 0 / 0
27.07.2004, 15:39:01
    #32623607
faint
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переход в предыдущее поле формы
kedzoя так никогда не делал, но думаю это можно сделать так:
- создать свою коллекцию контролов
- заполнить ее в том порядке теми контролами, которыми нужно
- а дальше можно перемещаться по порядковым номерам коллекции и устанавливать фокус на нужный...

мне кажется проблема должна проще решаться, наподобии вот этого "Программно "нажать" shift+tab

SendKeys "+{TAB}""

только мне так делать нельзя :(
...
Рейтинг: 0 / 0
27.07.2004, 15:39:18
    #32623609
_bob
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переход в предыдущее поле формы
dim ctl1 as control, ctl2 as control, tbindex1 as long, tbindex2 as long
tbindex2 = 0
tbindex1 = screen.activecontrol.tabindex
for each ctl1 in me.controls
if ctl1.tabindex<tbindex1 and ctl1.tabindex>tbindex2 then
ctl2 = ctl1
tbindex2 = ctl2.tabindex
end if
next ctl1
ctl2.setfocus
...
Рейтинг: 0 / 0
27.07.2004, 15:41:31
    #32623619
Roma R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переход в предыдущее поле формы
Почему нельзя
SendKeys "+{TAB}"

Поясни
...
Рейтинг: 0 / 0
27.07.2004, 15:46:20
    #32623636
faint
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переход в предыдущее поле формы
Roma RПочему нельзя
SendKeys "+{TAB}"

Поясни
мне нужно выходить из контрола в предыдущий контрол по левой стрелке, если
в контроле тест, то переход на предыдущий контрол срабатывает нормально, а если там нет ничего то, переход по стрелке (+ вот это SendKeys "+{TAB}") дают переход уже через один контрол.
...
Рейтинг: 0 / 0
27.07.2004, 15:48:51
    #32623649
Roma R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переход в предыдущее поле формы
Ты ж писал, что тебе кнопку жать надо!
...
Рейтинг: 0 / 0
27.07.2004, 15:51:47
    #32623663
faint
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переход в предыдущее поле формы
я это к примеру приводил...
хотя пример оказался неподходящим
...
Рейтинг: 0 / 0
27.07.2004, 15:56:07
    #32623673
Alexanderik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переход в предыдущее поле формы
Обьяни поподробней что ты хочешь ?
Переход на предыдущий контрол по нажатию LEftCursor, или при введении значения и подверждения Enter ?
...
Рейтинг: 0 / 0
27.07.2004, 15:57:40
    #32623677
Roma R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переход в предыдущее поле формы
Вставь дополнительную проверку: если поле пустое, то SendKeys не выполнять
...
Рейтинг: 0 / 0
27.07.2004, 15:59:12
    #32623682
faint
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переход в предыдущее поле формы
AlexanderikОбьяни поподробней что ты хочешь ?
Переход на предыдущий контрол по нажатию LEftCursor, или при введении значения и подверждения Enter ?

да! переход на предыдущий контрол по LEftCursor
...
Рейтинг: 0 / 0
27.07.2004, 16:04:27
    #32623698
faint
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переход в предыдущее поле формы
Roma RВставь дополнительную проверку: если поле пустое, то SendKeys не выполнять
я как-то вообще с трудом понимаю почему курсор скачет через контрол. ведь по идее я перехвачиваю нажатие LEFT ARROW т.е. действие этой кнопки должно отмениться и выполниться все, что для этой кнопки понаписано.
...
Рейтинг: 0 / 0
27.07.2004, 16:05:51
    #32623703
Roma R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переход в предыдущее поле формы
Попробуй это

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyLeft Then
If Nz(Me.ActiveControl.SelText, "") <> Nz(Me.ActiveControl.Text, "") Then
SendKeys "+{TAB}"
End If
End If
End Sub
...
Рейтинг: 0 / 0
27.07.2004, 16:17:30
    #32623732
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переход в предыдущее поле формы
faintкак перейти в предыдущее поле формы не используя shift+tab?
в следующее поле можно уйти по KeyCode = vbKeyReturn, а в предыдущее как?
KeyCode = vbKeyTab
Shift = acShiftMask

Почему так нельзя?
...
Рейтинг: 0 / 0
27.07.2004, 16:26:01
    #32623775
faint
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переход в предыдущее поле формы
Владимир Саныч faintкак перейти в предыдущее поле формы не используя shift+tab?
в следующее поле можно уйти по KeyCode = vbKeyReturn, а в предыдущее как?
KeyCode = vbKeyTab
Shift = acShiftMask

Почему так нельзя?

может так и можно, но у меня обрабатывается только KeyCode = vbKeyTab, т.е. перескакиваю в след-й контрол. одновременное нажатие shift не обрабатывается
...
Рейтинг: 0 / 0
27.07.2004, 16:28:28
    #32623781
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переход в предыдущее поле формы
faintможет так и можно, но у меня обрабатывается только KeyCode = vbKeyTab, т.е. перескакиваю в след-й контрол. одновременное нажатие shift не обрабатывается
Не нажатие, а я имел в виду написать в программе следующей строчкой:

Shift = acShiftMask
...
Рейтинг: 0 / 0
27.07.2004, 16:30:08
    #32623786
Roma R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переход в предыдущее поле формы
If KeyCode = vbKeyLeft Then
SendKeys "+{TAB}"
KeyCode = 0
End If
...
Рейтинг: 0 / 0
27.07.2004, 16:30:53
    #32623791
faint
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переход в предыдущее поле формы
так и я про то, я тоже имел в виду "программное" нажатие
строка Shift = acShiftMask не помогает!
...
Рейтинг: 0 / 0
27.07.2004, 16:38:44
    #32623819
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переход в предыдущее поле формы
Жалко.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / переход в предыдущее поле формы / 24 сообщений из 24, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]