Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.10.03;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
3-7793
Duce
2002-09-11 18:49
2002.10.03
Как в связке БДЕ+Оракл вернуть набор(курсор) из хранимой прц/фун?


8-8068
ork
2002-06-05 00:14
2002.10.03
Как сделать Delphi DFX из Delphi 5


14-8138
SPeller
2002-09-07 13:25
2002.10.03
Вот и винде пришло время умирать....


7-8195
dem0n2k
2002-07-25 22:41
2002.10.03
Как программно очистить mbr(master boot record)???


1-7930
pelmen
2002-09-13 20:32
2002.10.03
Быстрая обработка текста





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский