|
1 / 1 / 0
Регистрация: 25.08.2009
Сообщений: 79
|
|
Textbox при нажатии на Key Tab теряет фокус15.01.2011, 18:40. Показов 4490. Ответов 27
Метки нет (Все метки)
0
|
|
| 15.01.2011, 18:40 | |
|
Ответы с готовыми решениями:
27
Окно теряет фокус при загрузке Перемещение по нужным TextBox по нажатии Tab |
|
6 / 6 / 3
Регистрация: 17.10.2007
Сообщений: 1,119
|
||||||
| 16.01.2011, 18:24 | ||||||
|
OpeID,
1. Start new project 2. Put 2 text boxes on new form 3. In design mode, set Text1.MultiLine to True 4. In code:
vlad
0
|
||||||
|
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,748
|
||||||
| 17.01.2011, 00:13 | ||||||
|
2VladConn: что за бред??? а если у нас на форме сотня контролов, то что, всем TabStop отрубать??? А перемещаться мышкой чтоль?
Самый простой правильный ответ:
0
|
||||||
|
6 / 6 / 3
Регистрация: 17.10.2007
Сообщений: 1,119
|
|
| 17.01.2011, 03:17 | |
|
2Alexey Spirin,
Ну что ж, подхватим лексикон. На мой взгляд, ты, Алеша, как раз таки опубликовал бред. Твой код не работает. Работает мой код. Вопрос был как сделать таб элементом редактирования текста, а не средством навигации. И мой пример эту просьбу удовлетворяет. Да, в моем примере отрубать надо табстоп всем остальным контролам - динамически. И восстанавливать - тоже. Не бог весть какая проблема. Неудобно? Создай цикл по всем контролам формы, сунь его в процедуру и вызывай в том боксе, где это нужно. Я охотно приму на вооружение не только, хм, твою эмоциональность, но и код. Если он будет работать лучще моего. Я, например, не лез в API, не дергал за handles. Посмотри, может получиться. ;0) Успехов Влад
0
|
|
|
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 139
|
|
| 17.01.2011, 07:39 | |
|
Здравствуйте, спорщики !!
1. Вы явно это теоретичеки подошли! Для меня неудобно: Text1.TabStop = True List1.TabStop = False т.к. он прыгает через раз то на Text1, то List1 и вставляется Chr(9) в Text1 не вовремя... И как далее пишете, в цикл можно...возможно. Но это уже навороты, еще неизвестно так же чем кончится!!! 2.Во-вторых, как ни странно, но KeyAscii = 9 не отлавливается в событиях Textbox'a: Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 9 Then KeyAscii = 0: Text1.SelText = Chr(9) End Sub Все другие нажатия клавишь - отлавливается!!! :: ))Только по этому я и обратился к форуму !!!!!!!!!! 3. Та же история с vbKeyTab = это отлавливать нажатие клавиши на клавиатуре!!! Private Sub Text1_LostFocus() 'List1.TabStop = False = бесполезное занятие:: )If vbKeyTab = 9 Then Text1.SelText = Chr(9) 'все бы отлично End Sub 'Но после такого отлавливания установить vbKeyTab = 0, програмно невозможно... т.е. она 'висит в памяти' до нажатия любой другой Key Так что жду дальшее: КАК ОТЛАВЛИВАТЬ нажатие клавиши в событии Text1 без потери фокуса. И самое интересное, что есть примеры(коды) редакторов, в которых с этим проблем нет, а как там сделано явно, я так и не нашел !!?? Спасибо.
0
|
|
|
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,748
|
|
| 17.01.2011, 07:57 | |
|
2VladConn: И в каком же это месте мой код не работает, а?
Клавиша отлавливается без проблемм. И этот код значительно удобнее, чем включать/выключать табстоп у всех остальных. Пашет на ура.
0
|
|
|
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 139
|
||||||
| 17.01.2011, 09:22 | ||||||
|
Алексей, привет еще раз!
Вот в этом коде НЕ ОТЛАВЛИВАЕИСЯ, и именно нажатие клавиши ТАB !!!!
Алексей - нашел еще: При Ctrl + Tab - в окне Text1 срабатывает ТАВ, а в событии Text1_KeyPress все же - НЕ срабатывает !!!!!
0
|
||||||
|
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,748
|
|
| 17.01.2011, 09:47 | |
|
2Дмитри: Перед тем как заслать код сюда, я его у себя проверил. После ообщения о том, что не пашет - проверил еще раз - точно работает.
Единственное, что на это могло повлиять - то, что у меня установлен VS6 Service Pack 6.
0
|
|
|
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,748
|
|
| 17.01.2011, 09:58 | |
|
2VladConn, 2Дмитри: Извините, был не прав. На самом деле, код не работает, когда на форме несколько контролов.
0
|
|
|
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 139
|
|
| 17.01.2011, 10:43 | |
|
Да, у меня было так и в VB5, тепеpь VB6 - тоже самое. Причем, совершенно на разных мшинах и Windows
Ну вопрос не решен и стал уже интересен: прошу помогать решению! Кто предложит еще. Спасибо
0
|
|
|
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,748
|
|
| 17.01.2011, 10:43 | |
|
Интересно...
Стал пробовать через Spy++, обнаружил сообщение WM_KEYDOWN. Но в программе его выловить не могу. Для всех других оно генерируется, а для ТАБа - нет...
0
|
|
|
Comanche
|
||||||
| 17.01.2011, 12:43 | ||||||
|
||||||
|
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 139
|
||||||
| 17.01.2011, 14:07 | ||||||
|
Commanhe - убил всех наповал: С П А С И Б О: !!
А что еще полезное может делать такая интересная Function GetAsyncKeyState ? Если можно, конечно, если есть время или где почитать!!!! Спасибо!!
0
|
||||||
|
Comanche
|
|
| 17.01.2011, 14:33 | |
|
Эта функция говорит, нажата ли заданная клавиша в данный момент.
Подробнее - вот здесь: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/keyboardinput/keyboardinputreference/keyboardinputfunctions/getasynckeystate.asp Обрати внимание на раздел 'Remarks'. |
|
|
Comanche
|
|
| 17.01.2011, 14:36 | |
|
Маленькое дополнение: чтобы этот код работал, у твоего текстбокса должо быть CausesValidation = True. Впрочем, это значение по умолчанию у данного свойства.
А 'Index' появился от того, что текстбокс был элементом массива - я бросил на форму Text1(0), Text1(1), Text1(2) и т.д. |
|
|
6 / 6 / 3
Регистрация: 17.10.2007
Сообщений: 1,119
|
|
| 17.01.2011, 16:23 | |
|
Vsem privet,
Proshu proscheniya za latinitzu. To, chto pokazal Comanche, ya i imel vvidu. Odno malen'koe 'no': Vmesto 'vbTab' nuzhno 'vbKeyTab'. Po krainey mere na moem PC. vlad
0
|
|
|
6 / 6 / 3
Регистрация: 17.10.2007
Сообщений: 1,119
|
|
| 17.01.2011, 16:26 | |
|
Vsem privet.
Proshu proscheniya za latinitzu. To, chto pokazal Comanche, ya i imel vvidu v moem poslednem otvete. Odno malen'koe 'no': Vmesto 'vbTab' nuzhno 'vbKeyTab' - po krainey mere na moem PC. Vlad
0
|
|
|
Comanche
|
|||||||||||
| 17.01.2011, 16:47 | |||||||||||
|
2VladConn:
Ты пишешь, что «...вместо 'vbTab' нужно 'vbKeyTab'...» ЭТО ГДЕ?! В строчке
Свойство SelText - Variant (String). vbTab - это тоже строковая величина, символ табуляции. А вот vbKeyTab - это ЧИСЛО, ASCII-код, конкретно - девятка. Если написАть, как ты говоришь:
|
|||||||||||
|
6 / 6 / 3
Регистрация: 17.10.2007
Сообщений: 1,119
|
|
| 17.01.2011, 18:24 | |
|
No imenno tak i rabotaet!
0
|
|
|
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 139
|
||||||
| 18.01.2011, 07:09 | ||||||
|
Привет, вот я задал жару!
Но идея Comanche НЕУКЛОННО ПОБЕЖДАЕТ: 1. Код перехвата нажатия клавиши остался тем же, это неоспоримо! И что...вместо символа табуляции ты вставишь в текстбокс КОД этого символа в ASCCI , т.е. цифру 'девять' - это проверил. А ее строчное представление Chr(9) 2. Для 2VladConn - что бы вас помирить, вот вам ответ:
СПАСИБО.
0
|
||||||
| 18.01.2011, 07:09 | |
|
Помогаю со студенческими работами здесь
20
Где задерживается фокус при обходе формы Tab-ом Почему при переходе на TAB Label не получает фокус Tab Order.(При открытии формы установить фокус на нужный контрол) Input теряет фокус
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|