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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.06.2009, 00:14   #1
VadEr
Форумчанин
 
Аватар для VadEr
 
Регистрация: 24.03.2009
Сообщений: 375
По умолчанию Коды стрелок (Delphi)

Доброй ночи!

Почему уменя стрелки не обрабатываются (не возникает события)? А вот Esc работает. Помогите разобраться.
Код:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  case Key of
    #72: Image1.Canvas.LineTo(x0,y0-dL);
    #75: Image1.Canvas.LineTo(x0-dL,y0);
    #77: Image1.Canvas.LineTo(x0+dL,y0);
    #80: Image1.Canvas.LineTo(x0,y0+dL);
    #27: Close; // ESC
  end;
end;
p.s. KeyPreview = True. Виртуальные коды работают, но надо именно так.
VadEr вне форума Ответить с цитированием
Старый 13.06.2009, 00:16   #2
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
Радость

Ну, коды стрелок просто : 38,39,40,37.
Levsha100 вне форума Ответить с цитированием
Старый 13.06.2009, 00:53   #3
VadEr
Форумчанин
 
Аватар для VadEr
 
Регистрация: 24.03.2009
Сообщений: 375
По умолчанию

Но, в самом условии задания указаны именно коды, кот-е я прописал???
Вся проблема в том, что нажатие клавиши со стрелкой не приводит к событию "OnKeyPress" в принципе (даже с вашими кодами).

Последний раз редактировалось VadEr; 13.06.2009 в 00:55.
VadEr вне форума Ответить с цитированием
Старый 13.06.2009, 12:38   #4
VadEr
Форумчанин
 
Аватар для VadEr
 
Регистрация: 24.03.2009
Сообщений: 375
По умолчанию

Тогда, подскажите как вызвать (любое) событие нажатия стрелки (#72, #75, #77, #80). Почему, только виртуальные коды стрелок работают? (Может, что-то в настройках поменять)
VadEr вне форума Ответить с цитированием
Старый 13.06.2009, 12:46   #5
Олвин
Экспериментатор
Форумчанин
 
Аватар для Олвин
 
Регистрация: 16.04.2008
Сообщений: 218
По умолчанию

Цитата:
нажатие клавиши со стрелкой не приводит к событию "OnKeyPress"
Да, сталкивался с этой проблемой. Причину пусть скажут более грамотные люди, а способ устранения прост - используйте событие OnKeyDown, вместо OnKeyPress.
Для создания сложных вещей не нужны сложные интерфейсы. (с) Линус Торвальдс
Олвин вне форума Ответить с цитированием
Старый 13.06.2009, 12:55   #6
VadEr
Форумчанин
 
Аватар для VadEr
 
Регистрация: 24.03.2009
Сообщений: 375
По умолчанию

Да, спасибо понял. К тамуже, там коды, еще, и без решетки ставить надо.
VadEr вне форума Ответить с цитированием
Старый 13.06.2009, 12:57   #7
Олвин
Экспериментатор
Форумчанин
 
Аватар для Олвин
 
Регистрация: 16.04.2008
Сообщений: 218
По умолчанию

Верно. Если поставить код с решеткой, то получится значение типа char, а не byte.
Для создания сложных вещей не нужны сложные интерфейсы. (с) Линус Торвальдс
Олвин вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Где можно прочитать про все системные коды, и команды для Delphi PROFI_I Компоненты Delphi 3 18.02.2009 21:47
рисование линий (а в идеале стрелок) в javascript Rusl92 JavaScript, Ajax 2 21.01.2009 10:18
Обширная Справочная система для DELPHI (коды программ на все случаи жизни) Maksxaos Помощь студентам 1 11.01.2009 12:39
Перемещать строки вверх-вниз, с помощью стрелок. Rio309 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 27.10.2008 21:47
Borland C, перхват нажатий стрелок Arion Помощь студентам 3 30.04.2008 12:33