Перехватчик нажатий клавиш (ActiveX)

19.12.07

Разработка - Разработка внешних компонент

Примитивная компонента ActiveX, перехватывающая нажатия клавиш и принудительно возвращающая фокус компоненте при его потере. Искал в свое время для внедрения в интерфейс кассира. Может, кому еще пригодится.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Бесплатно
версия 1.03
.1197634756 24,00Kb
559
559 Скачать бесплатно
Демонстрационная обработка
.1197965168 5,47Kb
409
409 Скачать бесплатно

Примитивная компонента ActiveX, перехватывающая нажатия клавиш и принудительно возвращающая фокус компоненте при его потере. Сделал в свое время для внедрения в интерфейс кассира - чисто для того, чтобы нормально работать в рознице ... кто юзал типовую УТ, тот поймет... жмет пользователь на любую кнопку - срабатывает контекстный поиск - сканер в ауте... и другие мелкие косяки.... Может, кому еще пригодится.

В обработке показан пример использования компоненты. Не забудьте зарегить при помощи regsvr32. При открытии формы необходимо установить фокус на контрол.

Исправлено:

  • свойство Enabled обрабатывается.
  • свойство BackColor обрабатывается.
  • остальные свойства исключены из контрола
  • добавлено свойство "ForeverGotFocus". Если оно false, то обработка потери фокуса не производится средствами контрола - обрабатывайте сами событие "LostFocus"

См. также

ККМ Кассовые операции Розничная торговля Системный администратор Программист Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия 1.6 1С:Бухгалтерия автономного учреждения 1С:CRM ПРОФ, КОРП Россия Платные (руб)

Универсальная обработка для обслуживания любых фискальных регистраторов (ККТ), в том числе Веб сервер АТОЛ. Работает в соответствии с 54-ФЗ. (ФФД 1.0, ФФД 1.05, ФФД 1.1). Подключайте любую онлайн кассу к практически любой конфигурации. Нет необходимости обновлять 1С. Можно бесплатно скачать и протестировать. Может работать одновременно с несколькими онлайн-кассами, либо одной с разных рабочих мест. (через RDP, TCP\IP или веб-сервер) Позволяет разделить один чек сразу на несколько ККТ или на несколько систем налогообложения. Поддерживает разрешительный режим. Можно настроить собственный шаблонов чека. Можно использовать эквайринг там, где он не поддерживается. Работает на LINUX и Windows ЭМУЛЯТОР + ЭКВАЙРИНГ + МАРКИРОВКА + ПОДДЕРЖКА ФФД 1.2

6000 руб.

27.02.2017    799829    4931    9561    

2864

Бюджетирование и планирование Оптовая торговля Розничная торговля Логистика, склад и ТМЦ Анализ продаж Пользователь Платформа 1С v7.7 Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Система управления запасами для 1С помогает работать с запасами правильно: автоматически рассчитывает потребность и делает заказ поставщику, загружает прайсы, перемещает товары по филиалам, анализирует продажи и позволяет управлять ассортиментом. ВНИМАНИЕ! 09.01.25 г. планируется повышение цен на 20%!

28500 руб.

21.04.2017    96944    134    42    

215

Оптовая торговля Розничная торговля Обмен с ГосИС Бухгалтер Платформа 1С v8.3 1С:Управление торговлей 10 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Россия Бухгалтерский учет Управленческий учет Акцизы Платные (руб)

Полнофункциональное расширение (ранее известное как Модуль 1С-ЕГАИС) для взаимодействия типовых конфигураций 1С и ЕГАИС, предоставляющее максимум возможностей по работе с УТМ. Получение и отправка ТТН, отправка акта о постановке на баланс и акта о списании. Получение остатков. Загрузка и сопоставление номенклатуры и контрагентов. Оправка в ЕГАИС отчетов о производстве и импорте.

8970 руб.

15.12.2015    171076    962    364    

401

ККМ Кассовые операции Розничная торговля Обмен с ГосИС Программист Бухгалтер Пользователь Бухгалтерский учет Оперативный учет Управляемые формы 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Расширение конфигурации для УТ 11.5, КА 2.5 ,ERP 2.5 (Управляемые формы) позволяет выполнять печать кассовых чеков на одну ККМ 54-ФЗ с нескольких рабочих мест. НИКАКИХ НАСТРОЕК В РАЗРАБОТКЕ - ПОДКЛЮЧИЛ И ПЕЧАТАЙ. Если у вас несколько отделов и одна ККМ - печатайте на одной ККМ! Если у вас две ККМ и одна поломалась - печатайте на одной ККМ, пока ремонтируете другую!

5000 руб.

27.08.2018    123052    1041    586    

875

ККМ Кассовые операции Розничная торговля Системный администратор Программист Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия автономного учреждения Россия Платные (руб)

Обработка осуществляет обслуживание ККТ АТОЛ, Штрих, Вики Принт и Меркурий для конфигураций "УТ 10.3", "КА 1.1", "УПП 1.3", "Розница 1.0", "БП 2.0" и других отраслевых решений, построенных на основе указанных выше конфигурациях. Поддерживает возможность параллельно пробития чеков на одной ККМ несколькими пользователями. Поддерживает Веб-сервер Атол. Соответствует требованиям 54-ФЗ. Поддерживает ФФД 1.0, 1.05, 1.1 и 1.2. Разделяет чеки по нескольким СНО. Поддерживает механизмы подключения ККТ по TCP/IP, для работы через RDP или интернет. Поддержка маркировки и разрешительного режима.

5880 руб.

25.05.2015    336482    1967    3064    

1033

Управление взаимоотношениями с клиентами (CRM) Оптовая торговля Розничная торговля Пользователь Платформа 1С v8.3 Оперативный учет Управляемые формы 1С:Управление торговлей 10 1С:Розница 2 Россия Управленческий учет Платные (руб)

Подсистема призвана упростить и автоматизировать процесс расчета и начисления бонусов покупателей. Бонусная система работает с конфигурациями 1С:УТ 10.3, 1С:Розница. Механизм реализован в начале 2013г. и работает до сих пор с постоянными совершенствованиями.

30000 руб.

02.11.2015    112601    101    88    

185
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. tormozit 7238 14.12.07 19:56 Сейчас в теме
Клево, а как ее использовать то?
2. MRAK 724 14.12.07 22:13 Сейчас в теме
Регистрируем через regsvr32, кидаем на форму... Юзаем событие KeyUp
3. MRAK 724 14.12.07 22:34 Сейчас в теме
Повторюсь, что контрол сырой, написал его вместе с тестированием минут за 30... если что-то надо, то доработаю.... еЕще фокус с него можно сбить только открыв модальное окно вроде бы. вообще сделан чисто для того, чтобы нормально работать в рознице с интерфейсом кассира... кто юзал типовую УТ, тот поймет... жмет пользователь на любую кнопку - срабатывает контекстный поиск - сканер в ауте... и другие мелкие косяки...
4. serg1c 23 18.12.07 10:47 Сейчас в теме
А действительно, как использовать?
Хотя бы кратенькое описание команд или уж демку какую...
5. MRAK 724 18.12.07 11:02 Сейчас в теме
Хорошо, щас выложу обработку с этим элементом
6. tormozit 7238 18.12.07 22:51 Сейчас в теме
Ни один другой контрол фокус не получает. Так и задумано?
7. MRAK 724 19.12.07 10:01 Сейчас в теме
(6) да, так задумано, дабы всегда можно было бы программно обрабатывать фокус. закончу тестирование у заказчика - выложу рабочую обработку интерфейса кассира. Если действительно необходимо программно обрабатывать потерю фокуса, то могу добавить свойство типа включить/отключить принудительный возврат фокуса.
8. MRAK 724 19.12.07 10:01 Сейчас в теме
(7) + блин... программно обрабатывать не фокус, а события с клавы...
9. Mitay 16.01.08 11:14 Сейчас в теме
вопрос: а можно как-то организовать обработку комбинаций клавиш? например, чтобы для "shift"+"=" выдавал "+", а не коды "шифт" и "=" по отдельности?
То есть обрабатывать ситуацию, когда у shift признак нажата (но не отпущена) и после этого нажата и отпущена "=". Кнопки взяты для примера.
Тогда обработка будет универсальной и сможет различать и знаки препинания и комбинации клавишь и строчные/заглавные буквы.
10. Mitay 16.01.08 12:25 Сейчас в теме
Хотя уже сам разобрался:
параметр Shift имеет 4 значения: 0 ничего, 1 - нажат shift, 2 - нажат ctrl, 3- ???, 4 - нажат alt.
то есть комбинации обрабатывать можно.
вот только не хватает признака раскладки клавиатуры, чтобы знать какой символ соответствует нажатой кнопке.

11. Mitay 16.01.08 12:51 Сейчас в теме
Еще момен: обработка прекращается, если нажат "Tab" (похоже фокус всетаки теряется). выход - перезапуск обработки, но для места кассира - это плохо, ваш заказчик может оказаться недоволен.
13. MRAK 724 16.01.08 20:39 Сейчас в теме
(11) ForeverGotFocus в TRUE должно помочь.
(12) раскладку пока не просили, посмотрю на днях. как раз только собираюсь запускать.
12. Mitay 16.01.08 13:06 Сейчас в теме
Можно ли всетаки добавить определение раскладки

это поможет:
Declare Function GetKeyboardLayoutName Lib "user32" Alias "GetKeyboardLayoutNameA" (ByVal pwszKLID As String) As Long

14. Mitay 18.01.08 12:53 Сейчас в теме
Замечен еще момент:
при открытии epf перехватчик успевает обработать кнопку, нажатую до открытия.
Еще это проявляется так: если открыть два отчета, содержащие перехватчик, то если в первом нажать Esc, то он закроется, а второй скажет, что нажата кнопка 27. То есть опять же идет подхват последней кнопки нажатой в другом месте.
16. MRAK 724 28.01.08 10:48 Сейчас в теме
(14),(15) точно, есть такой косяк... можно вруную обрабатывать событие потери фокуса (LostFocus), но не удобно... в ближайшее время внесу исправления. пока другим проектом занимался
15. Mitay 19.01.08 17:03 Сейчас в теме
аналогичная ситуация: после закрытия модального окна кнопкой Ентер, перехватчик говорит, что сработал Ентер, хотя он был нажат в другом окне. То есть перехватчик ловит кнопку, нажатую до получения фокуса самим перехватчиком.
17. MRAK 724 17.11.08 17:24 Сейчас в теме
доработка давно прекращения, концепция изменилась)))
юзайте
http://www.infostart.ru/projects/1737/
Оставьте свое сообщение