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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.10.2023, 18:22   #1
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 627
По умолчанию FormKeyDown и стрелочки

Кейпревью включен

Процедура FormKeyDown не реагирует на стрелочки. Реагрирует на все что угодно (Альт, шифт, функциональные), но кроме стрелочек

К слову говоря, FormKeyUp работает нормально

Как отловить нажатие (а не отпускание) стрелочек?
Kronos913 вне форума Ответить с цитированием
Старый 11.10.2023, 19:19   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Стрелки используются ОС для переключения между элементами. Ловите WM_GETDLGCODE, CM_DIALOGKEY или ставьте хук с SetWindowsHookEx, ...
p51x вне форума Ответить с цитированием
Старый 11.10.2023, 22:09   #3
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Должно реагировать, но надо глянуть конкретный пример. Как-то давно делал игрушку на Делфи, где надо было управлять танком, как раз управление использовало стрелки.
Arigato вне форума Ответить с цитированием
Старый 12.10.2023, 09:05   #4
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

у меня на ноуте две панели со стрелочками. одна на основной панели, под клавишей ENTER, а вторая панель справа - там где цифры включаются по нажатию кнопки NUMLOCK.
и при простом тесте на игре Тетрис работают обе панели.
-----------
можно сюда архив вашего проекта с формой и вашими процедурой нажатия. чтоб попробовать запустить?
-----------
остальной код можете удалить, если не желаете показывать свою наработку во избежания плагиата...
-----------
если и у нас не сработают ваши наработки, то всё дело в проекте. а иначе дело в вашем компе/ноуте...
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 12.10.2023, 18:55   #5
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 627
По умолчанию

Я уже ничего не могу понять - вчера ничего не работало
Сегодня идентичный код начал работать

Код:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  Label1.Caption:=IntToStr(Key);
end;
Kronos913 вне форума Ответить с цитированием
Старый 12.10.2023, 19:10   #6
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 627
По умолчанию

После тестов разобрался

НЕ работают стрелочки когда на форме есть кнопки. Вместо срабатывания стрелки переключают выделение между кнопками
Kronos913 вне форума Ответить с цитированием
Старый 12.10.2023, 19:48   #7
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

а я о чем писал?..
p51x вне форума Ответить с цитированием
Старый 13.10.2023, 06:57   #8
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

то есть, вам надо фокус ввода предавать с кнопок на форму, чтоб реагировало на стрелки и типа не замечало кнопки.
в обработчике нажатия каждой кнопки надо вам тогда будет такое действие прописать...
----------
либо...
если не суть важно, то можно кнопку заменить на Panel, Label или Image - их тоже можно нажимать, им тоже можно сделать надпись и фокус ввода не будет убегать с формы. у меня так плеер сделан был - ни одной кнопки, чисто несколько рисунков со значками, потому что с фокусам было лень разбираться. и всё работает.
Изображения
Тип файла: jpg Безымянный.JPG (34.8 Кб, 2 просмотров)
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.

Последний раз редактировалось NetSpace; 13.10.2023 в 07:08.
NetSpace вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отключить стрелочки и табуляцию Kronos913 Общие вопросы Delphi 0 27.01.2022 20:46
Обработка ввода. Стрелочки. OnKeyUp/Down denrubun Общие вопросы C/C++ 1 21.09.2013 10:36
Компонент JvDBLookupCombo глючит отображение стрелочки delphicoding Общие вопросы Delphi 2 06.07.2011 22:15
Стрелочки Alina_Honey Паскаль, Turbo Pascal, PascalABC.NET 1 25.05.2011 15:46
Вопрос про FormKeyDown Kn793 Помощь студентам 3 14.07.2008 16:41