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

Вниз

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

Наверх





Память: 0.46 MB
Время: 0.035 c
6-1079886834
LAndreyL
2004-03-21 19:33
2004.05.16
Кодировка для отправки почты?


1-1083244459
Dexter
2004-04-29 17:14
2004.05.16
Прокрутка в TStringGrid


14-1082839973
Yegorchic
2004-04-25 00:52
2004.05.16
Отпревка SMS


1-1082750758
ALF
2004-04-24 00:05
2004.05.16
Самодельный скин к программе и системные шрифты


3-1082542290
stud
2004-04-21 14:11
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский