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

Вниз

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

 
Elast   (2004-04-29 14:47) [0]

Уважаемые мастера! Где-то ошибка - вроде-бы переключается клавиатура:

Нажимаю клавишу "т"

procedure DBGridEh1TegKeyPress(Sender: TObject; var Key: Char);
begin
 showmessage("press " + (key));         ---> Сначала здесь т
 Key := "";
end;

procedure DBGridEh1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
 showmessage("Down" + chr(key));        ---> Потом здесь N
 Key := 0;
end;


 
Vlad Oshin ©   (2004-04-29 14:48) [1]


> KeyDown

вроде всегда латинские коды дает


 
Elast   (2004-04-29 15:09) [2]

Для меня это новость. А как отловить нажатие рус?


 
Vlad Oshin ©   (2004-04-29 15:13) [3]


> Elast   (29.04.04 15:09) [2]

можть отказаться от кейдауна в пользу чего-то другого
или вычислив язык ввода по соответствию букв на клавиатуре


 
WebErr ©   (2004-04-29 15:36) [4]


> Elast   (29.04.04 15:09) [2]

Для меня тоже!
У меня всё по русски прекрасно выдаёт в наследнике того же TDBGridEh!


 
Elast   (2004-04-29 16:06) [5]

Ничего по русски не выдает и я не понимаю
1.почему если есть onKeyPress, то нет onKeyDown
2.как узнать какая раскладка клавы сейчас и как ее переключить


 
WebErr ©   (2004-04-29 16:17) [6]


> Elast   (29.04.04 16:06) [5]

Просто OnKeyDown указывает, какая клавиша нажата, а не какой символ введён, то есть надо клавишу узнать - используй OnKeyDown, а надо узнать символ - используй OnKeyPress.
Раскладка клавы - это Вам знать не нужно, разве только интереса ради...


 
Vlad Oshin ©   (2004-04-29 17:20) [7]


OnKeyDown
> какая клавиша нажата

а точнее код ее, Вы же пишите


> showmessage("Down" + chr(key));        

Потому как в OnKeyDown передается ВИРТУАЛНЫЙ КОД КЛАВИШИ, именно клавиши, а не символа (и символы, и стрелочки, и F1..F12, и ... А если нужен именно СИМВОЛ, то вам нужно OnKeyPress, сюда попадают именно символы, оттранслированные с учетом языка и раскладки.


> а надо узнать символ - используй OnKeyPress

вполне можно и OnKeyDown, если OnKeyPress не может быть использован по каким либо причинам


> Раскладка клавы - это Вам знать не нужно, разве только интереса
> ради...

для этого(см выше) и надо
Но Ваш вариант с OnKeyPress, конечно, проще и предпочтительнее

автору
GetKeyboardLayout посмотрите



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

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

Наверх




Память: 0.46 MB
Время: 0.035 c
1-1083225554
Dysan
2004-04-29 11:59
2004.05.16
опредиление кодировки


8-1077973068
AlexTregubov
2004-02-28 15:57
2004.05.16
Цветное изображение в серое


11-1069698015
zeddy
2003-11-24 21:20
2004.05.16
Application.OnIdle := MoveBall;


3-1082554981
Ega23
2004-04-21 17:43
2004.05.16
Access - возможно ли создание хранимых процедур?


14-1082652436
Alex Konshin
2004-04-22 20:47
2004.05.16
Я в Питере





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