Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.12.2010, 19:23   #1
Vaigard
Delphi and (not C)
Форумчанин
 
Аватар для Vaigard
 
Регистрация: 04.12.2010
Сообщений: 117
Вопрос Реакция на нажатие клавиши.

Еще один вопрос. Проверка состояния клавиши идет путем

ontimer

a:=getkeystate(keycode);
if a=-128 then ___
if a=1 then ___

Но есть проблема. Требуется, чтобы при нажатии и удержании клавиши на клавиатуре, нажималась и держалась кнопка на форме. А она даже на button.click не реагирует. Может, косяки с проверкой состояния?
<--Жми на весы
Vaigard вне форума Ответить с цитированием
Старый 29.12.2010, 21:49   #2
ex.cluz
Участник клуба
 
Аватар для ex.cluz
 
Регистрация: 15.01.2010
Сообщений: 1,325
По умолчанию

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

Кстати, у формы свойство KeyPreview стоит в true?
Грибы - они разные. Один тебя накормит, другой тебе кино покажет...
Редактор журнала "
[ПРОграммист]"
Yan's Home Digital Lab
ex.cluz вне форума Ответить с цитированием
Старый 29.12.2010, 22:17   #3
Vaigard
Delphi and (not C)
Форумчанин
 
Аватар для Vaigard
 
Регистрация: 04.12.2010
Сообщений: 117
По умолчанию

Да проекта-то нет как такового в настоящее время. Но смысл его - виртуальная клавиатура. И даже дело не в самом проекте, а в принципе действия. Вот строчка кода, который я использую:

if getkeystate(vk_up)<>1 then speedbutton1.Down:=true;

Это для таймер с маленьким(100-500) интервалом. Не нажимается кнопка. Свойство keypreview=true.
<--Жми на весы
Vaigard вне форума Ответить с цитированием
Старый 29.12.2010, 23:00   #4
Selestis
Форумчанин
 
Аватар для Selestis
 
Регистрация: 21.01.2009
Сообщений: 719
По умолчанию

Установите у кнопки GroupIndex:=1 и AllowAllUp:=true. По умолчанию эти кнопки зажать нельзя, надо в радиогруппу добавить вот так.
Изобретатель велосипедов
Selestis вне форума Ответить с цитированием
Старый 30.12.2010, 18:39   #5
Vaigard
Delphi and (not C)
Форумчанин
 
Аватар для Vaigard
 
Регистрация: 04.12.2010
Сообщений: 117
По умолчанию

Во, другое дело) Спасибо)
<--Жми на весы
Vaigard вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нажатие клавиши... Basketman Общие вопросы Delphi 1 11.02.2010 09:35
Реакция объекта на нажатие клавишь (VС#) blacknotblack Win Api 4 02.11.2009 21:16
Долгое нажатие клавиши в KeyDown как одно нажатие marina15056 Общие вопросы Delphi 7 16.08.2009 00:22
Нажатие клавиши (Delphi) VadEr Помощь студентам 3 08.06.2009 17:00
Нажатие клавиши format Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 05.05.2008 15:25