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

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

Нажатый Shift при клике на MenuItem


neXt ©   (2002-03-25 12:20:00) 

Как в обработчеке события OnClick пункта всплывающего меню (TPopupMenu) узнать, нажата ли в данный момент клавиша Shift (на худой конец, Ctrl или Alt :)
В моём распоряжении, в данном случае, есть только MenuItem, поэтому отлавливать OnKeyDown и OnKeyUp для флага шифта - мне не подходит, да и не дзенский это путь.


neXt   (2002-03-25 12:59:00) [1]

Да, спасибо Вам, въехал. Всё впорядке.


Alx2   (2002-03-25 12:37:00) [2]

>neXt © (25.03.02 12:31)
>это не одна форма, мой класс вызывают несколько парней,
>так что, в каждом свою ssShift заводить?
см. (Юрий Зотов © (25.03.02 12:32))


Alx2   (2002-03-25 12:35:00) [3]

>Юрий Зотов © (25.03.02 12:32)
Только поправиться хотел, ан не успел!
Спасибо. :)


Юрий Зотов   (2002-03-25 12:32:00) [4]

if GetKeyState(VK_SHIFT) < 0 then ... // Нажата одна из Shift

Детали см. в описании GetKeyState


neXt   (2002-03-25 12:31:00) [5]

... ещё: это не одна форма, мой класс вызывают несколько парней, так что, в каждом свою ssShift заводить?


Alx2   (2002-03-25 12:29:00) [6]

Вот это попробуй:
if (getKeyState(VK_LSHIFT) and (1 shl 8))<>0 then (Левый шифт нажат)


neXt   (2002-03-25 12:28:00) [7]

Форма не моя, я работаю только с Пунктом меню, на форме менять ничего не могу. Мне в функцию передают объект TPopupMenu я вкладываю туда свой пункт и навешиваю событие.


Arhelon   (2002-03-25 12:24:00) [8]

Мона сделать по тупому зато наверняка описать переменную типа
ssShift потом смотреть её значение где угодно.
На форме рисуешь OnKeyDown и там прсваеваешь ей оно самое.


Наверх

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