Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Горячая тема (более 10 ответов) Клавиатурные события ТП (число прочтений - 6703 )
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Клавиатурные события ТП
30. Июля 2009 :: 14:21
Печать  
Планирую в icpp немного отрефакторить событие табличного поля ПриНажатииКлавиши.

Было
Цитата:
ПриНажатииКлавиши(чКод, чСкан, чКоличествоПовторов, чФСО)
будет
Цитата:
ПриНажатииКлавиши(ВиртКод, Данные, Клавиатура, ФСО)
как видно измениться содержание 2 и 3 параметров. Что скажете?

От себя скажу, что изменения будут именно такие или вообще никакие. Подмигивание

ps
+ события
ПриОтжатииКлавиши(ВиртКод, Данные, Клавиатура, ФСО)
ПриНажатииСистемнойКлавиши(ВиртКод, Данные, Клавиатура, ФСО)
ПриОтжатииСистемнойКлавиши(ВиртКод, Данные, Клавиатура, ФСО)
ПриВводеСимвола(КодСимвола, Данные, Клавиатура, ФСО)
+ объект Клавиатура как в проекте tabledoc
  

1&&2&&3
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Клавиатурные события ТП
Ответ #1 - 30. Июля 2009 :: 14:32
Печать  
Ничего не скажу, т.к. использую ПриНажатииКнопкиКлавиатуры(). Улыбка

Но я всегда за новый функционал.
  
Наверх
ICQ  
IP записан
 
kriblya
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 313
Зарегистрирован: 24. Декабря 2007
Re: Клавиатурные события ТП
Ответ #2 - 30. Июля 2009 :: 14:33
Печать  
что естьданные и что есть клавиатура?
Не дочитал
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Клавиатурные события ТП
Ответ #3 - 30. Июля 2009 :: 14:37
Печать  
kriblya писал(а) 30. Июля 2009 :: 14:33:
что естьданные
Не дочитал

Данные - тип: Число. Определяет счетчик повторения, скан-код и прочее. Подробнее см. MSDN: http://msdn.microsoft.com/en-us/library/ms646280(VS.85).aspx
  

1&&2&&3
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Клавиатурные события ТП
Ответ #4 - 30. Июля 2009 :: 17:35
Печать  
Согласен. Потому как только КОП поменяю и все... а новые возможности просто мммм, как вкусно.  Очень довольный
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Клавиатурные события ТП
Ответ #5 - 31. Июля 2009 :: 05:47
Печать  
Мое мнение, думаю, известно.
В текущей реализации я не использую это событие именно из-за его ограниченности. Буду очень благодарен, если заявленный функционал будет реализован.
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Клавиатурные события ТП
Ответ #6 - 31. Июля 2009 :: 05:52
Печать  
А для новеньких можно пример перехвата сочетания ctrl+1?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Клавиатурные события ТП
Ответ #7 - 31. Июля 2009 :: 06:32
Печать  
JohnyDeath писал(а) 31. Июля 2009 :: 05:52:
А для новеньких можно пример перехвата сочетания ctrl+1?

Код
Выбрать все
Процедура ТаблПолеПриНажатииКлавиши(ТП, Код, Данные, Клавиатура, ФСО)
	Если Код=Клавиатура.VK_0+1 Тогда
		Если Клавиатура.ПолучитьСостояниеКлавиши(Клавиатура.VK_CONTROL)=1  Тогда
			Сообщить("!!!!!!!!!!!!!!!");
		КонецЕсли;
	КонецЕсли;
КонецПроцедуры
 

« Последняя редакция: 31. Июля 2009 :: 13:18 - trad »  

1&&2&&3
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Клавиатурные события ТП
Ответ #8 - 31. Июля 2009 :: 07:48
Печать  
а можешь еще немного пояснить?вот это
Код
Выбрать все
Клавиатура.VK_0+1 

?
можно заменить на Клавиатура.VK_1 ?
Клавиатура.VK_0 возвращает значение = 30?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Клавиатурные события ТП
Ответ #9 - 31. Июля 2009 :: 08:36
Печать  
Цитата:
можно заменить на Клавиатура.VK_1 ?
нет, такого свойства нет
Цитата:
Клавиатура.VK_0 возвращает значение = 30?
да. 0x30 = 48
все эти VK это всего лишь значения кодов вирт.клавиш.
ты можешь вместо
Если Код=Клавиатура.VK_0+1 Тогда
написать
Если Код=49 Тогда
« Последняя редакция: 31. Июля 2009 :: 10:53 - trad »  

1&&2&&3
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Клавиатурные события ТП
Ответ #10 - 31. Июля 2009 :: 09:58
Печать  
Спасибо.
Только одно все равно непонятно. Ты говоришь, что нет совйства Клавиатура.VK_1. А откуда взялось Клавиатура.VK_0? Здесь http://msdn.microsoft.com/en-us/library/ms645540(VS.85).aspx я его не увидел (может там что-то подобное написано, но англ. у меня слабый). А вот тут http://api.farmanager.com/ru/winapi/virtualkeycodes.html есть и VK_0 и VK_1 и т.д.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Клавиатурные события ТП
Ответ #11 - 31. Июля 2009 :: 10:48
Печать  
Поясняю.

Наличие либо отстутствие какого-либо свойства объекта Клавиатура никак не влияет на сушествовование виртуальных кодов. Их как было 255 так и остается.

В psdk, который используется в vs, не для всех кодов сушествуют символические константы. В частности нет констант VK_0 - VK_9 и VK_A - VK_Z. Поэтому изначально я не включил соответствующие свойства в класс.
В последствии, для удобства, я всетаки ввел свойства с "опорными" значениями виртуальных кодов 0x30, 0x39, 0x41, 0x5A и назвал их VK_0, VK_9, VK_A, VK_Z соответственно.
Для кодов между ними я свойства делать не стал.

Вообще, если это нужно, то могу расширить список свойств. Не проблема.
  

1&&2&&3
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Клавиатурные события ТП
Ответ #12 - 31. Июля 2009 :: 11:56
Печать  
Теперь понятно.
trad писал(а) 31. Июля 2009 :: 10:48:
Вообще, если это нужно, то могу расширить список свойств. Не проблема.

Было бы удобнее, но и без этого проживем
  
Наверх
 
IP записан
 
MrDen
Junior Member
**
Отсутствует



Сообщений: 50
Местоположение: Краснодар
Зарегистрирован: 19. Ноября 2008
Пол: Мужской
Re: Клавиатурные события ТП
Ответ #13 - 31. Июля 2009 :: 12:04
Печать  
JohnyDeath писал(а) 31. Июля 2009 :: 11:56:
Теперь понятно.
trad писал(а) 31. Июля 2009 :: 10:48:
Вообще, если это нужно, то могу расширить список свойств. Не проблема.

Было бы удобнее, но и без этого проживем

Спасибо будем ждать!
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Клавиатурные события ТП
Ответ #14 - 31. Июля 2009 :: 13:19
Печать  
Цитата:
ТП: Изменены параметры события ПриНажатииКлавиши.
Добавлены прочие клавиатурные события.
Добавлен объект 1cpp.Клавиатура

готово
  

1CPP_003.rar ( 654 KB | Загрузки )

1&&2&&3
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать