![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Нажатый 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 и там прсваеваешь ей оно самое.