Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как узнать какие кнопки нажаты в комбинации клавиш!!! / 15 сообщений из 15, страница 1 из 1
04.12.2004, 14:17
    #32813034
egamov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать какие кнопки нажаты в комбинации клавиш!!!
Вопрос такой
Как узнать какие клавиши нажати в кмобинации клавиш?
Т.е. если человек нажимает Ctrl+E то мне надо понять что он нажал именно е и ctrl . Это для примера так необходимо понять все буквы и цифры!!!!
...
Рейтинг: 0 / 0
04.12.2004, 14:50
    #32813047
Burn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать какие кнопки нажаты в комбинации клавиш!!!
Хелп по команде InKey()
Для контролов на форме - хелп по событию KeyPress
...
Рейтинг: 0 / 0
04.12.2004, 15:03
    #32813053
egamov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать какие кнопки нажаты в комбинации клавиш!!!
Inkey() не пойдет. В кодах комбинаций нет последовательности. например Ctrl+l=38
а Ctrl+m=50 хотя два соседних символа l и m!!!! Получается надо массив соответствий комбинаций и символов!!!!!
А как обойтись без этого? Ведт надо все буквы и цифры!!!!
...
Рейтинг: 0 / 0
04.12.2004, 15:40
    #32813062
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать какие кнопки нажаты в комбинации клавиш!!!
В чем состоит собственно задача? Зачем нужно определить эту комбинацию?

Дело в том, что способ решения зависит именно от того, где и с какой целью будет осуществляться этот разбор.

Кстати, какая версия FoxPro?
...
Рейтинг: 0 / 0
06.12.2004, 08:52
    #32813681
egamov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать какие кнопки нажаты в комбинации клавиш!!!
Задача стоит следующая:
необходимо осуществить поиск по столбцу в гриде одной букве если пользователь не удерживает контрол и по комбинации символов если пользователь уерживает контрол!!!!!
Т.е. если нажата Контрол и пользователь нажал букву "и" и букву "в" то необходимо искать строку "ИВ" а если нет то просто будет осуществляться поиск отдельно первый раз фамилии на букву "и" второй раз фамилии на букву "В"
...
Рейтинг: 0 / 0
06.12.2004, 09:39
    #32813743
Burn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать какие кнопки нажаты в комбинации клавиш!!!
Вот в KeyPress NextBox-а и смотри. Чтото вроде:

PROCEDURE Text1.KeyPress
LPARAMETERS nKeyCode, nShiftAltCtrl

IF nShiftAltCtrl = 2
SEEK Chr(nKeyCode)
ELSE
SEEK This.Value
ENDIF
...
Рейтинг: 0 / 0
06.12.2004, 10:02
    #32813776
Burn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать какие кнопки нажаты в комбинации клавиш!!!
Сории. Имелось ввиду конечно
IF nShiftAltCtrl = 2
SEEK Chr(nKeyCode)
ELSE
SEEK This.Value+Chr(nKeyCode)
ENDIF
...
Рейтинг: 0 / 0
06.12.2004, 10:14
    #32813798
egamov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать какие кнопки нажаты в комбинации клавиш!!!
Проблем бы не было если бы все было так просто!!!!!!
При нажатии комбинации контрол и символа в методе Keypress возвращается в переменную nKeyCode не код символа "S" а код комбинации Ctrl+=19 а 19, а код S-115. Получается абсурд!!!!! А 19-это не буква а комбинация !!!!! получается что надо выделить 'S'. Но как это сделать?
...
Рейтинг: 0 / 0
06.12.2004, 10:27
    #32813832
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать какие кнопки нажаты в комбинации клавиш!!!
Анализируй второй параметр KeyPress и добавляй недостающее значение к KeyCode
...
Рейтинг: 0 / 0
06.12.2004, 10:36
    #32813853
egamov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать какие кнопки нажаты в комбинации клавиш!!!
Чтобы отталкиваться от того что вы предлагаете необходимо забивать массив соответствий!!!! так как нет однозначной зависимости между символом и его комбинацией с контролом!!!!!!!! Я уже про это писал
...
Рейтинг: 0 / 0
06.12.2004, 10:41
    #32813869
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать какие кнопки нажаты в комбинации клавиш!!!
Зачем? Если второй параметр = 2, то KeyCode=KeyCode+96, для латинских символов.
Для кириллицы думаю то же самое.
...
Рейтинг: 0 / 0
06.12.2004, 10:45
    #32813882
egamov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать какие кнопки нажаты в комбинации клавиш!!!
Ага а для h=nKeyCode+23!!!
...
Рейтинг: 0 / 0
06.12.2004, 10:50
    #32813894
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать какие кнопки нажаты в комбинации клавиш!!!
2egamov

Ну во-первых не +23, а -23. А во-вторых, это единичный случай который отлавливается дополнительной веткой анализа и все.
...
Рейтинг: 0 / 0
06.12.2004, 13:48
    #32814408
po2
po2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать какие кнопки нажаты в комбинации клавиш!!!
В общем случае любую комбинацию зажатых клавиш можно определить с помощью API-функции GetKeyboardState. Пример использования есть по ссылке: www.news2news.com/vfp/?group=37&function=476
...
Рейтинг: 0 / 0
06.12.2004, 13:53
    #32814425
egamov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать какие кнопки нажаты в комбинации клавиш!!!
Спасибо!! То что надо!
я именно и имел в виду общий случай!!!!
Потому что такая же проблема может выскочит и с другими комбинациями клавиш!!!!
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как узнать какие кнопки нажаты в комбинации клавиш!!! / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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