Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 429
от 31.03.2006, 03:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 296, Экспертов: 72
В номере:Вопросов: 1, Ответов: 2


Вопрос № 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


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.20 (beta) от 17.03.2006
Яндекс Rambler's Top100

В избранное