![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
OnKeyPress [D5, Win95/98]
SSAlex © (2002-09-19 00:53:00)Помогите начинающему! Почему при обработке OnKeyPress в ListView не выполняется следующее:
if key=#127 then ...
и как можно обработать Del в ListView
Заранее благодарен.
kex86 (2002-09-22 01:49:00) [1]какая разница - onkeypress или onkeydown, в одном случае key=ord(27), а в другом - 27 ? суть то одна
это я тому, кто меня xex"ом назвал
LordOfSilence (2002-09-20 09:54:00) [2]Приведу схематично похожую процедуру:
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;
Esu (2002-09-20 09:05:00) [3]
> Lego
GetKeyboardState/SetKeyboardState
Lego (2002-09-20 07:55:00) [4]
> Т.е. для таких кнопок на клавиатуре как Alt НЕ ВЫЗЫВАЕТСЯ
> событие OnKeyPress.
А зря... бывает нужно и такое :)
ХЕХ (2002-09-20 03:41:00) [5]> Lego © (20.09.02 03:13)
>Хех... я ведь спросил как у onKeyPress вроде...
Ну так Вам и ответили (Юрий Зотов © (19.09.02 01:15)),
что нельзя "нажать" (по аглицки Press), то чего реально нет.
А реально все ограничивается таблицей символов ASCII. Т.е. для таких кнопок на клавиатуре как Alt НЕ ВЫЗЫВАЕТСЯ событие OnKeyPress.
kex86 (2002-09-20 03:25:00) [6]Может Вы имели ввиду #27, а не #127?
Lego (2002-09-20 03:13:00) [7]Хех... я ведь спросил как у onKeyPress вроде... или ты думаешь что я незнаю что есть TShiftState в onKeyDown и onKeyUp? ;)
В том то и дело что стало интересно как через Char сказать что это Alt?
VID (2002-09-19 11:46:00) [8]Кроме onKeyPress существует ещё и onKeyDown, где есть чудный параметр Shift: TShiftState
;)
Lego (2002-09-19 10:24:00) [9]Кстати а как в OnKeyPress действительно вызвать Alt или Ctrl или Shift ? Там ведь все через # идет насколько я помню.
Юрий Зотов (2002-09-19 01:15:00) [10]1. А где Вы видели клавишу символа #127? На какой клавиатуре?
Нельзя нажать то, чего нет. Поэтому символ #127 в OnKeyPress просто не приходит. Попробуйте прямой Alt-ввод, может и сработает.
2. Насчет Del - ловите VK_DELETE в OnKeyDown.