![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Клавиатурный вопрос... [D4, D5, 95/98, ME, NT4, 2000, XP, 2003]
C@N © (2006-07-20 15:04:00)Господа!!!
На сколько я понимаю... клавиатура шлет в компьютер сигналы, которые уже системой преобразуются в руские, английские символы, ентеры, эскейпы, табуляции и прочее...
Вопрос если это так, то как читать эти сигналы??? а то столкнулся с проблемой "экранной клавиатуры", но мне надо выводить спецсимволы... типа клавише [Ф/A] соответствует функция...уж больно громоздко и коряво выходит, да еще и глючит, если в системе кроме русской и английской раскладок стоит еще какая-нить....
C@N (2006-07-22 13:56:00) [1]Вот смотрите!!! это должно работать и на нажатии кнопок!!!(клава) и на нажатии батонов на форм1 (тама я кнопки в виде клавных выстроил...)
вот мне нужно узнать какая кнопка нажата (на клавиатуре) потому как другану пишу прогу(а он за бугром в районе аравийского п-острова), а в евоной конторе права обрезаны, чтоб поставить русскую расскладку, хотя по руски все нормально отображается...(странно) а в конторе у него несколько раскладок стоит... хочется что-то универсальное...не зависимое от раскладки клавиатуры...
на английскую раскладку я прогу научил впринципе... вот сейчас до чего-нить универсального добить хочется, тк при разных раскладках к конкретной кнопке разный символ прицеплен(((
> А OnKeyDown/Up - виртуальные коды клавиш.
а по подробнее))) плииз)))
DrPass (2006-07-22 12:06:00) [2]
> S46E © (22.07.06 10:00) [6]
> (Вместо KeyPress можно KeyDown:)
Не можно, а нужно. Событие OnKeyPress обрабатывает коды символов, т.е. зависит от текущей раскладки. А OnKeyDown/Up - виртуальные коды клавиш.
> C@N © (22.07.06 09:35) [5]
> а поподробнее объяснитепожалуйса))) чайнику...
А что непонятного? КАк щелкнуть два раза по строчке OnKeyDown в Object Inspector?
Ketmar (2006-07-22 10:30:00) [3]вопрос неясен. "экранная клавиатура" -- в смысле пишется такая же, как у винды -- для ввода символов? или "жмём клавишу, на битмапке клавиатуры она рисуется нажатой"? или ещё что? телепатор не телепатит...
S46E (2006-07-22 10:00:00) [4]
procedure TForm1.sendKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then ShowMessage('Вы нажали Enter');
end;
Каждая клавиша имеет свой номер.
(Вместо KeyPress можно KeyDown:)
C@N (2006-07-22 09:35:00) [5]а поподробнее объяснитепожалуйса))) чайнику...
DrPass (2006-07-20 16:41:00) [6]
> дык мне надо независимо от раскладки...
см.
> DrPass © (20.07.06 15:20) [1]
C@N (2006-07-20 15:44:00) [7]этот пост наверно в API надо было кинуть...
C@N (2006-07-20 15:43:00) [8]дык мне надо независимо от раскладки...
на клавиатуре 86 или 101 (это помоему аж с 1986года) клавиш - стандартно!!! вот как понять там-же система к примеру а=1 б=2
DrPass (2006-07-20 15:20:00) [9]Думаю, читать сканкоды необязательно - события OnKeyDown будет достаточно.