Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема ПриНажатииКнопкиКлавиатуры() и залипание клавиш (число прочтений - 3344 )
Mr. Anderson
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 4
Зарегистрирован: 10. Мая 2012
ПриНажатииКнопкиКлавиатуры() и залипание клавиш
10. Мая 2012 :: 11:51
Печать  
Добрый день.
Реализую перехват нажатия "пробел" на форме для перемещения текущей строки с списке. Пользователь хочет уснуть на клавише и отметить галкой кучу строк списка (но не все). Событие же срабатывает только при самом нажатии. Есть ли варианты реализации данной задачи?

[code]      
Если (КодКлавиши = 32) И (Форма.АктивныйЭлемент() = "Список") Тогда
    ФСО = 0;
     НомерСтроки = Список.ТекущаяСтрока();
     ТекущееЗначениеПометки = Список.Пометка(НомерСтроки);
     Список.Пометка(НомерСтроки, 1 - ТекущееЗначениеПометки);
     Если НомерСтроки < Список.РазмерСписка() Тогда
           Список.ТекущаяСтрока(НомерСтроки + 1);
     КонецЕсли;

КонецЕсли;
[/code]

Заранее спасибо.
  
Наверх
 
IP записан
 
antoneus
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 54
Зарегистрирован: 16. Марта 2009
Пол: Мужской
Re: ПриНажатииКнопкиКлавиатуры() и залипание клавиш
Ответ #1 - 10. Мая 2012 :: 11:05
Печать  
ну, работает, отмечается всё в залипании.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: ПриНажатииКнопкиКлавиатуры() и залипание клавиш
Ответ #2 - 10. Мая 2012 :: 11:15
Печать  
красившее в контекстное меню по ПКМ запихать действия с "галками" - отметить все. отметить все ниже, отметить все выше.. и т.д..
  
Наверх
 
IP записан
 
Mr. Anderson
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 4
Зарегистрирован: 10. Мая 2012
Re: ПриНажатииКнопкиКлавиатуры() и залипание клавиш
Ответ #3 - 10. Мая 2012 :: 11:44
Печать  
antoneus писал(а) 10. Мая 2012 :: 11:05:
ну, работает, отмечается всё в залипании.

Извините, не понял. У Вас при залипании клавиши приведенный код срабатывает и текущий элемент списка меняется?
  
Наверх
 
IP записан
 
Mr. Anderson
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 4
Зарегистрирован: 10. Мая 2012
Re: ПриНажатииКнопкиКлавиатуры() и залипание клавиш
Ответ #4 - 10. Мая 2012 :: 11:45
Печать  
Eprst писал(а) 10. Мая 2012 :: 11:15:
красившее в контекстное меню по ПКМ запихать действия с "галками" - отметить все. отметить все ниже, отметить все выше.. и т.д..

Это понятно, но задача например отметить 50 элементов из тысячи находящихся в середине списка.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: ПриНажатииКнопкиКлавиатуры() и залипание клавиш
Ответ #5 - 10. Мая 2012 :: 12:06
Печать  
И ? заставлять тыркать на пробел не комильфо.

Нужно всего лишь расширить список действий:
отметить всё
отметить всё до верха списка
отметить всё до низа списка
отметить до ближайшей верхней
отметить до ближайшей нижней
снять.....
снять
снять
снять..
инвертировать...


Тогда придется один раз выставить галку, прокрутить список и в контекстном меню выбрать отметить до ближайшей верхней.
и привет.

А так, ну лови своё залипание в приотжатиикнопкиклавиатуры..
  
Наверх
 
IP записан
 
antoneus
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 54
Зарегистрирован: 16. Марта 2009
Пол: Мужской
Re: ПриНажатииКнопкиКлавиатуры() и залипание клавиш
Ответ #6 - 10. Мая 2012 :: 12:30
Печать  
Mr. Anderson писал(а) 10. Мая 2012 :: 11:44:
antoneus писал(а) 10. Мая 2012 :: 11:05:
ну, работает, отмечается всё в залипании.

Извините, не понял. У Вас при залипании клавиши приведенный код срабатывает и текущий элемент списка меняется?


Точно, меняется. Хотя я у себя такие залипухи (множественные пометки) последнее время делаю через ТП и выделенные строки.
  
Наверх
 
IP записан
 
Mr. Anderson
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 4
Зарегистрирован: 10. Мая 2012
Re: ПриНажатииКнопкиКлавиатуры() и залипание клавиш
Ответ #7 - 10. Мая 2012 :: 12:41
Печать  
Попробую через ТП сделать.
Спасибо
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать