Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.04;
Скачать: CL | DM;

Вниз

Нажатый 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]

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



Страницы: 1 вся ветка

Текущий архив: 2002.04.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.009 c
7-9653
Gunya
2002-01-03 20:32
2002.04.04
Как послать на LPT сигнал определенной длительности?


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


1-9520
snoup
2002-03-23 09:14
2002.04.04
Кидаю на форму TEdit и кнопку в OnButtonClick пишу: Shellexecute(handle,nil, edit1.text ,nil,nil,SW_SHow);


1-9561
ev
2002-03-23 18:48
2002.04.04
загрузка CPU при прорисовке


1-9459
Swinger
2002-03-24 00:26
2002.04.04
ICQ