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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.12.2012, 06:54   #1
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию при работе программы отреагировать на нажатие кнопки с клавиатуры

здравствуйте, мне нужно чтобы при воспроизведении трека, если пользователь нажмет на пробел поставить трек на паузу, я знаю как это сделать, нь пользователь для этого должен еще кликнуть лист бокс, а мне надо, чтобы проверка наличиствовала в созданной мной процедуры, (хочу проверку запихнуть где отрисовывается столбцы эквалайзера, так как обновление слишком частое, и соответственно отреагируется быстро)
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 30.12.2012, 11:48   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Используй RegisterHotKey для регистрации горячей клавиши, если нужно именно извне приложения отловить нажатие.
Иначе поставь в форме KeyPreview и обработчики формы станут ловить клавиши нажатые в ее контролах.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.12.2012, 12:34   #3
admin22
Пользователь
 
Регистрация: 27.09.2011
Сообщений: 26
По умолчанию

Для отлова нажатой клавиши используются хуки, но это очень трудно. Могу посоветовать простой способ: постоянной включенный таймер с маленьким интервалом.
Пример:
Код:
procedure TForm1.Timer7Timer(Sender: TObject);
begin
if (GetKeyState(VK_CONTROL)=-127)or(GetKeyState(VK_CONTROL)=-128) then  begin // отлов клавиши ctrl
Причем не важно, свернута форма или развернута.
admin22 вне форума Ответить с цитированием
Старый 30.12.2012, 16:55   #4
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

суть задания: пишу плеер, обрабатываю клавишу делит, пробел и ентер, смог реализовать только в пределах объекта, то есть нужно нажать на трек, который в плейлисте, и нажать нужную клавишу, это плохо, значит мне в кейпревью формы прописать условие: если кейпревью=13(код клавиши) то ...какие то действия...?
from dark to light)

Последний раз редактировалось Алексей_2012; 30.12.2012 в 16:57.
Алексей_2012 вне форума Ответить с цитированием
Старый 30.12.2012, 17:26   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Не в кейпревью.
KeyPreview:=true
А в OnKeyPress уже прописываешь это условие.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Закрытие программы при нажатие на кнопку выход. alexkgx1 Общие вопросы Delphi 2 07.12.2012 18:56
Ошибка при работе программы fordegans Общие вопросы Delphi 4 27.11.2012 01:00
Ошибка при работе программы ZaramothРещьфкфя Visual C++ 1 17.09.2012 21:48
Непонятная ошибка при работе программы Вампирёнок Общие вопросы Delphi 7 24.01.2011 23:41
Проверка на нажатие кнопки во время работы программы ToKS Компоненты Delphi 18 18.05.2009 00:30