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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.07.2013, 00:55   #1
KoBaL
Пользователь
 
Аватар для KoBaL
 
Регистрация: 27.02.2010
Сообщений: 59
По умолчанию KeyBoardProc, расшифровка lParam

Подскажите, как расшифровать lParam?

http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

Никак не могу понять, как мне, например, получить значение из 31 бита, чтобы узнать: нажата клавиша или отпущена?
KoBaL вне форума Ответить с цитированием
Старый 03.07.2013, 08:27   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Если не ошибаюсь:
Код:
 if  (lParam and $40000000 ) = 0 then нажата
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.07.2013, 08:40   #3
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,777
По умолчанию

Если считать, как все нормальные программисты, с нуля, как считает MSDN, биты 32-битного целого нумеруются от 0 до 31, и 31-й бит имеет маску $80000000.
Vapaamies вне форума Ответить с цитированием
Старый 03.07.2013, 10:09   #4
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Наверное, обычными битовыми операциями, что-то вроде
Код:
if lParam and (1 shl 31) = 0 then // 31'th bit is 0 when button pressed
begin
//нажата
end;
пс. сорри , опять страдаю постом в нерефрешеные темы

Последний раз редактировалось phomm; 03.07.2013 в 10:14.
phomm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
lParam и wParam Sylar9 Win Api 5 10.04.2012 19:11
Проблема с KeyboardProc! leito87 Win Api 1 22.02.2012 11:35
WPARAM wParam, LPARAM lParam, LPVOID *lpParam mizantrop32 Win Api 2 18.02.2011 12:10
WPARAM wParam, LPARAM lParam откуда берётся? Garic_ Общие вопросы C/C++ 4 09.06.2010 22:42
Применение KeyboardProc() Zeraim Win Api 3 14.05.2008 12:42