|
Активировать поле ввода после нажатии клавиши | ☑ | ||
---|---|---|---|---|
0
Ymryn
21.04.15
✎
10:28
|
Мое почтение. Следующая проблема. Необходимо после нажатия на кнопку возвращать активность на поле ввода.
Через установку текущего элемента получается решить проблему частично. Да, теперь при вводе информации, данные будут вводиться в него, но горизонтальной мигающей черты, сигнализирующей о том, что поле активно: пожалуйста, вводите; не появляется. Для этого надо или нажать enter, либо выбрать поле мышью. Вопрос - как добиться, появление этой горизонтальной черточки? :) Ну или хотя бы пните куда копать. |
|||
1
Cyberhawk
21.04.15
✎
10:35
|
Сымитируй нажатие Enter через WSH
|
|||
2
Капитан Джек Воробей
21.04.15
✎
10:37
|
(0)синтаксис-помощник там посмотри "АктивизироватьПоУмолчанию" Скажи платформа хоть какая?
|
|||
3
Ymryn
21.04.15
✎
10:38
|
(1) Нее, это я косячу. Надо найти правильную последовательность действий. Установить текущий элемент определенно мало. Надо, что-то еще сделать. Какой-нибудь метод по типу "обновить" вызвать. По крайней мере такое ощущение. Чего-то я не вызываю, что нужно вызвать.
|
|||
4
Ymryn
21.04.15
✎
10:40
|
(2) 8.3. Активировать по умолчанию делает поле активным при открытии формы. Он уже установлен. Установка его повторно ничего особо не меняет.
|
|||
5
Serg_1960
21.04.15
✎
10:40
|
(1) Ну да. А потом "сымитируй" нажатый символ, перенос курсора и ответ на вопрос "Нажатый символ добавить в конец значения поля или поле очищать перед вводом символа?" :)
|
|||
6
Ymryn
21.04.15
✎
10:42
|
(5) ну должен же быть способ без имитации нажатого символа. Должен же быть метод, чтобы вернуть активность полю. Я отказываюсь верить, что его нет. Но за подобное направление поисков - спасибо.
|
|||
7
D_E_S_131
21.04.15
✎
10:44
|
(6) Вызов диалога ввода строки наверное только, если WSH тебе греховно использовать.
|
|||
8
Serg_1960
21.04.15
✎
10:44
|
||||
9
Капитан Джек Воробей
21.04.15
✎
10:44
|
(6) http://88.198.55.240/topic.php?id=532927 Здесь посмотри
|
|||
10
Ymryn
21.04.15
✎
10:45
|
благодарю. :)
|
|||
11
Cyberhawk
21.04.15
✎
10:46
|
О, у меня в Такси поиск по списку работает как надо автору - после нажатия на лупу фокус с прямой мигающей чертой возвращается в поле ввода
|
|||
12
Ymryn
21.04.15
✎
10:47
|
(11) поделись секретом, как? ) Метод в (9) меня несколько пугает :)
|
|||
13
Cyberhawk
21.04.15
✎
10:51
|
(12)
на клиенте в процедуре команды ЭтаФорма.ТекущийЭлемент = Элементы.СтрокаПолнотекстовогоПоиска |
|||
14
Cyberhawk
21.04.15
✎
10:51
|
В (9) то же самое для полей ввода описано по ссылке на какой-то другой форум
|
|||
15
Serg_1960
21.04.15
✎
10:51
|
H A D G E H O G s, если мне память не изменяет, публиковал свою писал на http://catalog.mista.ru/ нетленку по перехвату клавиш клавиатуры. Могу поискать ежели что.
|
|||
16
Ymryn
21.04.15
✎
10:53
|
(13) неа. Не работает. Поле становится активным, но мигающей черты нет. Это в Такси.
|
|||
17
Ymryn
21.04.15
✎
10:54
|
(15) благодарю, не надо. Если это останется единственным направлением, я уже сам поищу. Большое спасибо за то, что подсказываете.
Я пока хочу попробовать решить без перехвата, сугубо вызовом имеющихся методов в 1С. Меня смущает, что для такого казалось бы простого действия требуются еще какие-то танцы с бубном. Мне кажется я просто упускаю какую-то деталь из виду. |
|||
18
Cyberhawk
21.04.15
✎
10:57
|
У меня тоже Такси. У поля ввода формы путь к данным - это строковый реквизит формы. А у тебя?
|
|||
19
Cyberhawk
21.04.15
✎
10:58
|
+(18) еще КнопкаОчистки = Да стоит вместо "Авто"
|
|||
20
Cyberhawk
21.04.15
✎
10:59
|
А, прогнал - черта не появляется, выделяется весь введенный в поле текст
|
|||
21
Ymryn
21.04.15
✎
11:01
|
(20) угу, поле неполноценно активно. Оно на вставку ctrl+v реагирует после этого, на другие горячие клавиши тоже, а вот на ввод с numpad'а - нет. Надо прожать Enter тогда станет полностью активным.
|
|||
22
Cyberhawk
21.04.15
✎
11:02
|
Хотя не совсем прогнал - при первом нажатии на кнопку поле активизируется именно с прямой чертой, а при последующих - выделяется весь набранный там текст. Ща гляну что там еще происходит.
|
|||
23
Cyberhawk
21.04.15
✎
11:09
|
Выяснил: у меня если по введенному в поле тексту что-то нашлось или ничего не нашлось, то обновляется текущая страница у еще одной группы на форме (вид группы - "Страницы"), обновляется статус (типа "Найдено столько-то", либо "Не найдено ничего"). В этом случае поле ввода потом активируется с прямой чертой без выделенного текста.
Элементы.ГруппаАгрегаторСтраниц.ТекущаяСтраница = Элементы.СтраницаТакаяТо
Если же поиск не приводит к обновлению статуса (переприсвоению текущей страницы у группы-агрегатора страниц), то поле ввода активируется с выделенным текстом. |
|||
24
Ymryn
21.04.15
✎
11:12
|
(22) У меня несколько другая картина. Если я сразу отказываюсь от выполнения процедуры и делаю присвоение элемента и возврат (у меня пустая ТЗ и обрабатывать нечего), то будет возврат с чертой. Если же идет какая-то обработка и неважно когда я устанавливаю текущий элемент в начале или в конце процедуры - то будет возврат с выделением. Как-то это странно работает.
|
|||
25
Cyberhawk
21.04.15
✎
11:18
|
(24) сделай написанное в 23 - добавь группу-пустышку и программно меняй ее текущую страницу каждый раз
|
|||
26
Ymryn
21.04.15
✎
11:20
|
(25) нее, что-то у меня так не срабатывает :) По крайней мере изменить текущую страницу на другую, а потом вернуться на эту - не срабатывает.
|
|||
27
Cyberhawk
21.04.15
✎
11:24
|
У меня порграммная смена страницы меняется однократно и до программной активизации поля ввода
|
|||
28
Ymryn
21.04.15
✎
11:29
|
(27) это какое-то шаманство. :) Я не понимаю, как смена страницы связана с тем стало поле активным или нет :) Отдельная тема, что альтаб и вернуться обратно к сеансу 1С тоже сделает поле активным с черточкой. Т.е. возврат переактивация формы сделает поле тоже активным. Но переоткрытие формы через .Открыть() не помогает. Автикивизировать тоже не помогает. ОбновитьОтображение (ну а вдруг?) не помогает. Толи 1С так удачно сделали этот механизм, что он непонятно как работает, то ли я упускаю какую-то очевиднейшую вещь.
p.s. Две строчки шела ( вызвать ком объект, и нажать энтер) решают проблему, но блин, почему приходится так делать :) |
|||
29
Ymryn
21.04.15
✎
11:40
|
Ладно, это уже пахнет оккультизмом. Большое спасибо всем откликнувшимся.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |