Главная страница
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.48 MB
Время: 0.026 c
1-1082706710
13-Drakosha
2004-04-23 11:51
2004.05.16
Трабл с RxRichEd


6-1080222469
alexprozorov
2004-03-25 16:47
2004.05.16
Опять про нотификационные сообщения


1-1083304332
3376
2004-04-30 09:52
2004.05.16
Как создать форму, зная только ее имя?


6-1080481375
Diz
2004-03-28 17:42
2004.05.16
Проблемы с POP3


9-1073202059
Kair
2004-01-04 10:40
2004.05.16
Экспорт объектов