Вопрос № 38505: Здрасьте!
Какие команды использовать при процедуре on key press если нужно создать событие при нажатии на кнопку лево,право,вперед,вниз?
(в процедуре on key up это VK_Left i t.d)?...
Вопрос № 38.505
Здрасьте!
Какие команды использовать при процедуре on key press если нужно создать событие при нажатии на кнопку лево,право,вперед,вниз?
(в процедуре on key up это VK_Left i t.d)?
Отправлен: 25.03.2006, 20:17
Вопрос задал: Sassoft (статус: 1-ый класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Хакимов Денис Рафаилович
Здравствуйте, Sassoft!
Попробуйте обработать не OnKeyPress, а OnKeyDown (или OnKeyDown). В приложении приведен код, который при нажатии на клавишу "влево" или "вправо" меняет заголовок текущего окна. В OnKeyPress Вы не сможете отловить нажатие этих клавиш, т.к. Key имеет тип символ (т.е. Char) а символьного представления у "влево" и "вправо" нет. Конечно можно поиграть с преобразованием типов, но попробуйте сами вставить этот код в обработчик OnKeyPress:
ShowMessage(Key);
и Вы увидите, что при нажатии на любую "системную" клавишу окошко с сообщением не появится.
Удачи!
Приложение:
--------- Цель жизни есть жизнь с целью
Ответ отправил: Хакимов Денис Рафаилович (статус: 6-ой класс)
Ответ отправлен: 26.03.2006, 01:50
Отвечает: sir henry
Здравствуйте, Sassoft!
Это полностью исключено. Дело в том, что событие OnKeyPress обрабатывает ТОЛЬКО клавиши имеющие какой либо символ - буква, цифра... Клавишам стрелок никакой символ не сопоставлен.
Ответ отправил: sir henry (статус: Академик) Россия, Красноярск ---- Ответ отправлен: 26.03.2006, 11:18