|
Вопрос # 2 090/ вопрос открыт / |
|
Здравствуйте, эксперты!
Есть очень легкий вопросик: как можно на форме деативировать воздействие клавиатуры - на форуме MediaPlayer стоит - и при нажатии на пробел он занового вопроизводит трэк - как можно сделать, что бы это убрать - т. е.что бы при нажатии на пробел не было никакого эфекта? Спасибо)
 |
Вопрос задал: Вечперик (статус: Посетитель)
Вопрос отправлен: 16 ноября 2008, 12:31
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: min@y™
Интересно...
При создании формы: Form.KeyPreview:= True;
А на событие Form.OnKeyPress повесить:
if Key = 32
then Key:= 0;
З.Ы. Форум не читал.
 |
Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 16 ноября 2008, 19:45
|
Мини-форум вопроса
Всего сообщений: 4; последнее сообщение — 16 ноября 2008, 18:21; участников в обсуждении: 3.
|
unl0K (статус: Посетитель), 16 ноября 2008, 16:15 [#1]:
Обработчик OnKeyPres там что пишишь key:='#0';
а системные клавиши труднее отключить можно Ассембелром!
Относись к людям так, как хотел бы, чтобы они к тебе относились!
|
|
Вадим К (статус: Академик), 16 ноября 2008, 17:57 [#2]:
Чем чем? Ассембелром? да да, он всемогущ Он ещё ганяет стаи туч... Стоп, это уже вроде Пушкин.
Вообще то пробел не запрограммирован на повтор трека. Он просто нажимает текущую выделенную клавишу в MediaPlayer - вполне нормальное, адекватное поведение в купе с тем, что стрелки влево-вправо переносят фокус по кнопкам.
Но если всё таки хочеться, что бы на пробел никак не реагировал компонент - пишите наследника, перекрывайте метод KeyDown и никаких проблем.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Nasgool (статус: 2-ой класс), 16 ноября 2008, 18:13 [#3]:
А можно еще проще!
Глядя на сказанное Вадимом., делаем так.
1) на onShow главной вормы ставим setfocus на любой объект в форме, кроме плеера.
2) В каждом обработчике событий на медиаплеер добавляем setfocus на любой объект в форме, кроме плеера.
Попробовал - все работает
|
|
Вадим К (статус: Академик), 16 ноября 2008, 18:21 [#4]:
да, вот только это индуский метод. и искоренять такое надо. А если у меня несколько сотен процедур, которые работают с медиаплеером (хотя если их сотня - это уже другая крайность).
А если потом проект попадёт к другому человеку и он будет выгребать месяцами, и забыв где то удалить одну строку, потом будет вспоминать "незлым тихим словом"?
А наследника написать - так в данном случае это десяток строк., даже меньше.
Галочка "подтверждения прочтения" - вселенское зло.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|