Главная страница
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.052 c
1-1083222874
ПрогерШ
2004-04-29 11:14
2004.05.16
Как реализовать инитерфес в стиле IBExpert?


14-1082629525
Frozzen
2004-04-22 14:25
2004.05.16
Вопросик


14-1082950931
Думкин
2004-04-26 07:42
2004.05.16
Стимулирование качаства труда


6-1080234424
rezya
2004-03-25 20:07
2004.05.16
Проблема с неблокирующими сокетами.


8-1077280777
Batoon
2004-02-20 15:39
2004.05.16
что можно сделать с графиком