Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Одновременное нажатие двух клавиш [D7, Win2k, WinXP]


Gia Gvatua ©   (2004-06-22 16:47:00) 

Знатоки, помогите пожалуйста, горит проект.

Как в обработчике OnShortCut компоненты ApplicationEvents поймать, что одновременно нажаты две клавиши: например, ctrl
и какая-нибудь буква?


Gia Gvatua   (2004-06-22 18:50:00) [1]

NAlexey, спасибо Вам огромное. Ваш совет меня спас.
Догадывылся, что нужна WIN API - но не смог найти нужную функцию.


NAlexey   (2004-06-22 17:24:00) [2]

if (GetAsyncKeyState(VK_CONTROL) < 0) and (GetAsyncKeyState(VK_SOMEKEY) < 0) then


BFG9k   (2004-06-22 16:59:00) [3]

Для компонентов - 2 события:

OnKeyUp и OnKeyDown

var ctrlFlg:boolean;
...
OnKeyDown
//если нажат Ctrl
ctrlFlg:=true;

OnKeyUp
//если отпущен Ctrl
ctrlFlg:=False;

OnKeyPress
//если нажата нужная тебе клавиша и...
if ctrlFlg then ...

Только я не уверен что нажатие ctrl вызовет событие на этом уровне :(


Наверх

Титульная страница Поиск, карта сайта Написать письмо