Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.04;
Скачать: [xml.tar.bz2];




Вниз

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


neXt   (2002-03-25 12:20) [0]

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



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

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



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

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



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

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



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

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



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

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

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



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

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



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

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



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

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




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.04;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.018 c
1-9435            stexen                2002-03-24 15:05  2002.04.04  
ИНФОРМАЦИЯ О exe-файле


3-9406            Tanya_                2002-03-12 19:47  2002.04.04  
ApplyUpdate и связь master-detail


1-9432            BDRON                 2002-03-22 15:27  2002.04.04  
Ресурс ini файлов.


1-9465            Man-In-Red            2002-03-25 15:45  2002.04.04  
Как в Listbox1 добавить все содержимое папки, скажем: C: My Doc ???


3-9428            archer                2002-03-06 10:30  2002.04.04  
Ошибка при работе с Oracle через ADO