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

Вниз

OnKeyPress   Найти похожие ветки 

 
SSAlex ©   (2002-09-19 00:53) [0]

Помогите начинающему! Почему при обработке OnKeyPress в ListView не выполняется следующее:

if key=#127 then ...

и как можно обработать Del в ListView
Заранее благодарен.


 
Юрий Зотов ©   (2002-09-19 01:15) [1]

1. А где Вы видели клавишу символа #127? На какой клавиатуре?
Нельзя нажать то, чего нет. Поэтому символ #127 в OnKeyPress просто не приходит. Попробуйте прямой Alt-ввод, может и сработает.

2. Насчет Del - ловите VK_DELETE в OnKeyDown.


 
Lego ©   (2002-09-19 10:24) [2]

Кстати а как в OnKeyPress действительно вызвать Alt или Ctrl или Shift ? Там ведь все через # идет насколько я помню.


 
VID ©   (2002-09-19 11:46) [3]

Кроме onKeyPress существует ещё и onKeyDown, где есть чудный параметр Shift: TShiftState
;)


 
Lego ©   (2002-09-20 03:13) [4]

Хех... я ведь спросил как у onKeyPress вроде... или ты думаешь что я незнаю что есть TShiftState в onKeyDown и onKeyUp? ;)
В том то и дело что стало интересно как через Char сказать что это Alt?


 
kex86 ©   (2002-09-20 03:25) [5]

Может Вы имели ввиду #27, а не #127?


 
ХЕХ   (2002-09-20 03:41) [6]

> Lego © (20.09.02 03:13)
>Хех... я ведь спросил как у onKeyPress вроде...

Ну так Вам и ответили (Юрий Зотов © (19.09.02 01:15)),
что нельзя "нажать" (по аглицки Press), то чего реально нет.
А реально все ограничивается таблицей символов ASCII. Т.е. для таких кнопок на клавиатуре как Alt НЕ ВЫЗЫВАЕТСЯ событие OnKeyPress.


 
Lego ©   (2002-09-20 07:55) [7]


> Т.е. для таких кнопок на клавиатуре как Alt НЕ ВЫЗЫВАЕТСЯ
> событие OnKeyPress.

А зря... бывает нужно и такое :)


 
Esu ©   (2002-09-20 09:05) [8]


> Lego

GetKeyboardState/SetKeyboardState


 
LordOfSilence ©   (2002-09-20 09:54) [9]

Приведу схематично похожую процедуру:

procedure TfrmMain.dbgFolderDblClick(Sender: TObject);
var
Key_ : LongWord;
Shift_ : TShiftState;
begin
Shift_ := [];
Key_ := GetKeyState( VK_MENU );
if ( Key_ and $80000000 ) > 0 then Include( Shift_, ssAlt );
Key_ := GetKeyState( VK_CONTROL );
if ( Key_ and $80000000 ) > 0 then Include( Shift_, ssCtrl );
Key_ := GetKeyState( VK_SHIFT );
if ( Key_ and $80000000 ) > 0 then Include( Shift_, ssShift );
ДелайСShift_ВсеЧтоХочешь( Shift_ );
end;



 
kex86 ©   (2002-09-22 01:49) [10]

какая разница - onkeypress или onkeydown, в одном случае key=ord(27), а в другом - 27 ? суть то одна
это я тому, кто меня xex"ом назвал



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

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

Наверх




Память: 0.48 MB
Время: 0.011 c
3-7874
strahov
2002-09-09 17:40
2002.10.03
Потушите пожар в мозгах !!!!!


14-8163
Демонов Е.В.
2002-09-09 17:50
2002.10.03
Delphi 7 - Вымысел или правда ?


8-8076
AirsMedia
2002-06-05 16:54
2002.10.03
Прозрачные окна


7-8191
иван
2002-07-24 09:17
2002.10.03
Работа с реестром


1-7978
Осирис
2002-09-20 14:18
2002.10.03
Отладка VCL