Главная страница
    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.012 c
3-7797
Dmitry Toropov
2002-09-10 17:14
2002.10.03
ADO не работает


1-7906
silenser
2002-09-23 13:39
2002.10.03
Memo


1-8035
Korona
2002-09-22 15:35
2002.10.03
Почему не работает енаблед?


3-7789
Dimedrol
2002-09-11 13:37
2002.10.03
FastReport, номера страниц


3-7773
Lion
2002-09-13 00:22
2002.10.03
Индексы в FoxPro





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский