|
0 / 0 / 0
Регистрация: 10.04.2007
Сообщений: 96
|
||
Enter вместо Tab01.06.2007, 02:24. Показов 3000. Ответов 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? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|