Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.07;
Скачать: CL | DM;

Вниз

Как   Найти похожие ветки 

 
Prok12   (2002-09-23 15:55) [0]

1) Нужно определить, нажата ли в данный момент клавиша (например,
GetKeyState(vk_Shift) или GetKeyState(vk_Control)).
В справке по функции GetKeyState сказано:
If the high-order bit is 1, the key is down ...
Как взять этот самый high-order bit из числа типа ShortInt?

И смежный вопрос.
2) При обработке сообщения wm_LButtonDblClk обнаружил, что вопреки сказанному в Help, wParam этого сообщения не даёт возможность определить, какая клавиша клавиатуры (например, mk_Shift или mk_Control) была нажата при двойном щелчке мышкой - wParam НЕМНОГО отличается от указанных констант! Возможно, это ошибка в Delphi... Попробуйте!
Поэтому и возник первый вопрос.


 
MBo ©   (2002-09-23 16:01) [1]

Как взять этот самый high-order bit
c помощью
число And $8000


 
Anatoly Podgoretsky ©   (2002-09-23 16:01) [2]

1) and $8000


 
Prok12   (2002-09-23 16:41) [3]

Попробовал (при нажатых клавишах либо Control, либо Shift) ввести в обработчик события "двойной щелчок":
MM := GetKeyState(vk_Control) and $8000;
ShowMessage(IntToStr(MM));
MM := GetKeyState(vk_Shift) and $8000;
ShowMessage(IntToStr(MM));
В итоге - получаю всегда нолик, а не 1 !!!


 
Termik ©   (2002-09-23 16:46) [4]

Сначала попробуй в режиме отладки погонять, посмотреть, какое значение принимает MM. Советы насчет high-order bit абсолютно верные.


 
Набережных С.   (2002-09-23 20:09) [5]

А какого типа ММ? Поди ShortInt? И "в итоге", если на пальцах посчитать, д.б. -32768, а не 1.


 
Юрий Зотов ©   (2002-09-27 00:36) [6]

Это же знаковый бит.

if GetState(vk_Control) < 0 then ... //нажато



Страницы: 1 вся ветка

Текущий архив: 2002.11.07;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
1-21554
cosinus
2002-10-29 16:13
2002.11.07
Координаты курсора в коодинатной системе PaintBox-а


14-21809
Прафисианал
2002-10-19 17:02
2002.11.07
Восстановление поврежденной базы


1-21676
turusov
2002-10-28 10:38
2002.11.07
String - как это объяснить?


1-21542
Andy78
2002-10-29 15:14
2002.11.07
RXLib 2.75


14-21763
^Sanya
2002-10-07 21:41
2002.11.07
Кто-нить пробовал свою анкету редактировать?