Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

комбинации клавиш Ctrl+d

7.2K
22 апреля 2005 года
Endofrin
21 / / 22.02.2005
модет я чего не понимаю помогите. Пишу при обработки собития от формы KeyPress например:
if (Key == Ctrl+K)ShowMessage("Ctrl+K");
если просто:
if (Key == Ctrl)ShowMessage("Ctrl"); то все получается.
317
22 апреля 2005 года
Relax
573 / / 20.09.2000
обрабатывай событие OnKeyDown:
FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift);

здесь Key - нажатая клавиша, в твоем случае 'D', а Shift - это набор содержащий нажатые клавиши Shift, Ctrl, Alt и кнопки мыши. Сравнивай Key c 'D', проверяй наличие в наборе константы ssCtrl и все будет!

if(Key == 'D' && Shift.Contains(ssCtrl))ShowMessage("Ctrl+D");
7.2K
22 апреля 2005 года
Endofrin
21 / / 22.02.2005
Цитата:
Originally posted by Relax
обрабатывай событие OnKeyDown:
FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift);

здесь Key - нажатая клавиша, в твоем случае 'D', а Shift - это набор содержащий нажатые клавиши Shift, Ctrl, Alt и кнопки мыши. Сравнивай Key c 'D', проверяй наличие в наборе константы ssCtrl и все будет!
if(Key == 'D' && Shift.Contains(ssCtrl))ShowMessage("Ctrl+D");


very thenks!!!!!!!!1

748
13 мая 2006 года
AlphaOmega
159 / / 28.09.2004
А как проверить нажата ли Ктрл Shift.Contains(ssCtrl)) ВНЕ события KeyDown или KeyUp.
Допустимв простой функцции, которая идёт либо отдельно либо в OnClick/OnChange?
Точнее как получить переменную Shift?
1
14 мая 2006 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by AlphaOmega
А как проверить нажата ли Ктрл Shift.Contains(ssCtrl)) ВНЕ события KeyDown или KeyUp.
Допустимв простой функцции, которая идёт либо отдельно либо в OnClick/OnChange?
Точнее как получить переменную Shift?


В этом случае нужно использовать GetKeyState. Например:

 
Код:
if(GetKeyState(VK_SHIFT)& 0x100)
//нажат любой шифт.
748
14 мая 2006 года
AlphaOmega
159 / / 28.09.2004
Цитата:
Originally posted by kot_
В этом случае нужно использовать GetKeyState. Например:
 
Код:
if(GetKeyState(VK_SHIFT)& 0x100)
//нажат любой шифт.

Не всегда срабатывает. Точнее он как-то глючно воспринимает это состояние при запуске. Чтобы работало, нужно сначало (при запуске программы) прописать кейбоард event по "отпусканию" (keyup) этой кнопки...

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог