|
0 / 0 / 0
Регистрация: 10.04.2007
Сообщений: 96
|
||
Enter вместо Tab01.06.2007, 02:24. Показов 2947. Ответов 15
Метки нет (Все метки)
HI АLL
Не подскажет ли кто где ошибка?
Или может, кто подскажет, как сделать так чтобы при нажатии на Enter из поля Text1 осуществлялся переход в Text1?
0
|
||
| 01.06.2007, 02:24 | |
|
Ответы с готовыми решениями:
15
По Enter как по Tab? (одним махом) Переход между полями при нажатии ENTER, также как по TAB? Tab вместо Enter (FireFox) |
|
VladK
|
||||||
| 01.06.2007, 05:00 | ||||||
|
||||||
|
0 / 0 / 0
Регистрация: 10.04.2007
Сообщений: 96
|
|
| 01.06.2007, 11:18 [ТС] | |
|
Большое спасибо VladK! Сильно помогло!
P.S. Очепятался: осуществлялся переход в Text2?
0
|
|
|
VladK
|
|
| 01.06.2007, 21:32 | |
|
Да, репеход должен быть в Text2
|
|
|
Foxtrot
|
||||||
| 02.06.2007, 04:21 | ||||||
|
А не проще было порядок фокусов расставить?
Пример:
|
||||||
|
Foxtrot
|
|||||||||||
| 02.06.2007, 04:23 | |||||||||||
|
ё! Большие сорьки! В строке
|
|||||||||||
|
VladK
|
|
| 02.06.2007, 07:46 | |
|
Конечно проще. Но просьба была найти ошибку в приведенном коде.
|
|
|
VladK
|
||||||
| 02.06.2007, 08:26 | ||||||
|
Большие сорьки тоже. Ваш пример был необходим. Кстати, если на форме много текстовых окон, то следует действовать несколько иначе. Пример с 4 текстовыми окнами Text1,Text2,Text3,Text4:
|
||||||
|
Mavr
|
|
| 03.06.2007, 08:13 | |
|
Способ с SendKeys'ом лучше, не надо городить Select Case (а если 20 контролов), фокус автоматом перейдет на следующий в последовательности перехода контрол.
|
|
|
0 / 0 / 0
Регистрация: 26.03.2007
Сообщений: 238
|
|
| 03.06.2007, 11:12 | |
|
Насчёт Sendkey'я - есть о чём не согласиться.
А так, я тоже этой проблемой занимался - и вот к какому выводу пришёл ('концептуально' :-))): 1. Необходимо на форме установить KeyPreview = true (об этом уже писали) 2. В Form'е сделать приватный массив элементов из названий контролей. В Form_Load'e - заполнить Например : aСontrl = ('Text1','Tex2',...) И тут же загнать табиндекс - циклом. (Согласно порядка в массиве) 3. В Form_KeyDown универсальный обработчик (пример, в жизни несколько отличается, в зависимости от желаний и требований.... ): if KeyCode = 13 Then dl = 0 dl = Screen.ActiveControl.TabIndex If dl < UBound(aСontrl) - 1 Then dl = dl + 1 Else dl = 0 Me.Controls(aСontrl(dl)).SetFocus end if В Form_KeyPress можно добавить код if KeyAscii = 13 then keyascii=0 Этим 'убивается' дальнейшее реагирование контроля на нажатый энтер. Плюс во всём этом в том, что не надо обрабатывать событие в каждом контроле, соответственно для приложение можно сделать паблик саб или фанкшион и передавать туда форму и там обрабатывать. Мнения.....pls.
0
|
|
|
0 / 0 / 0
Регистрация: 09.05.2007
Сообщений: 130
|
|
| 03.06.2007, 15:10 | |
|
To Ian
Ne sovsem uveren, no, po mojemu, _KeyDown budet proishodit' ne dlja formy, a dlja togo controla, na kotorom Fokus. Moschet ja ne prav, kone4no. No v4era mne prischlos' 'u4it'' formu 'uznavat'' knopki dlja upravlenija kursorom (37,38,39,40) i dlja Form'y sobytije 'KeyDown' ne nastupalo. A kogda ja povesil sootvetstvujuschij makros na otdel'nyje control'y - vse stalo OK. Esli ja ne prav - please, skaschite v 4em. A to esli by forma byla na 40 controlov, to nazna4at' etu proceduru kaschdomy bylo by tosklivo...
0
|
|
|
0 / 0 / 0
Регистрация: 26.03.2007
Сообщений: 238
|
|
| 03.06.2007, 15:39 | |
|
2Похомов. Если установить проперть на Form'e KeyPreView=True. То при нажатии клавиши в контроле события происходят примерно так (для всех 'буквенных' контролей form_keydown,form_updown,form_keypress ну и дальше на контроль). И то, что я написал - это работает и не в одном приложеннии
0
|
|
|
0 / 0 / 0
Регистрация: 09.05.2007
Сообщений: 130
|
|
| 03.06.2007, 15:51 | |
|
Spasibo! Vesch' o4en' dlja menja poleznaja.
0
|
|
|
VladK
|
|
| 03.06.2007, 16:08 | |
|
To pakhomov_a:
Cобытие _KeyDown наступает СНАЧАЛА для формы и ПОТОМ для контроля если Form.KeyPreview = TRUE. Убедитесь, что вы установили это свойство корректно. То Mavr: Способ с SendKeys в каждом контроле для передачи фокуса наиболее НЕУДАЧЕН. Он длинен: сравните количество кода на контроль у Foxtrot и avtoman. Да и ни к чему как то эмулировать переход фокуса. Положено делать напрямую: через SetFocus. Но главное, делать это надо именно в Sub Form_KeyPress, а не в контролях, если их таких больше 2. Вы серьезно хотите повторять код? Как минимум это противоречит сертификационным требованиям Microsoft для VB6. То lan: Я согласен с вами абсолютно. |
|
|
Mavr
|
|
| 04.06.2007, 06:19 | |
|
2VladK, в каждом контроле и не надо ставить обработчик, то же самое KeyPreview = True, и ставишь SendKeys в Form_KeyDown, и фокус сам будет скакать на след. контрол.
|
|
|
0 / 0 / 0
Регистрация: 09.05.2007
Сообщений: 130
|
|
| 05.06.2007, 15:28 | |
|
KeyPreview
(dlja UserForm) ja v Excele ne naschel ((Ego tam net? Ili ono ina4e nazyvajetsja?
0
|
|
| 05.06.2007, 15:28 | |
|
Помогаю со студенческими работами здесь
16
Enter вместо Tab при работе с Datagridview
Не получается поменять TAB на ENTER PostMessage помогите. Нажатие TAB и ENTER как можно заменить TAB на Enter? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y
Z4Tv2zpXVVo
https:/ / github. com/ shumilovas/ med2. git
|
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа.
В качестве фильтра для отбора справочника служит группа номенклатуры.
Отбор по наименованию группы. . .
|
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
|
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс.
Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
|
|
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа.
В качестве фильтра для отбора служит значение перечислений.
/ / Событие "НачалоВыбора" реквизита на форме. . .
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|