![]() |
|
|
#1
|
||||
|
||||
|
У меня на форме имеется несколько TDBEdit-ов.
Можно ли каждому из них установить нужный язык клавиатуры по умолчанию, чтоб не вбирать каждый раз. (Очень нужно) |
|
#2
|
||||
|
||||
|
Хмм... Код для обычного Edit'а работает, а для DBEdit не работает, но если что, то вот ТОЛЬКО английская раскладка для обычного Edit:
Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin case Key of 'A'..'Z','a'..'z',#8:; else Key:=Chr(0); end; Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin case Key of 'А'..'Я','а'..'я',#8:; else Key:=Chr(0); end; |
|
#3
|
||||
|
||||
|
Спасибочки!!!
Вроде работает!!! А где можно взять Скан - коды всей клавиатуры ??? |
|
#4
|
||||
|
||||
|
Лови свою таблицу кодов.
Надеюсь на твой отзыв. |
|
#5
|
||||
|
||||
|
Благодарю.
Очень сильно выручил!!! |
|
#6
|
||||
|
||||
|
На заметку : с кодом Winny нельзя будет вводить цифры и знаки с любой раскладкой.
|
|
#7
|
||||
|
||||
|
Спасибо за заметку.
Я эту проблему уже решил!!! |
|
#8
|
||||
|
||||
|
И буквы ё нет.
|
|
#9
|
||||
|
||||
|
А зачем ???
Меня и "е" устраивает ! |
|
#10
|
||||
|
||||
|
А это так. На всякий случай.
|
|
#11
|
||||
|
||||
|
Цитата:
Case Key of ... 'ё' : Key:='ё'; ... Держи !!! |
|
#12
|
||||
|
||||
|
Можно в Case добавить
Код:
'1'..'9':; |
|
#13
|
||||
|
||||
|
А если в едит с русским названием понадобится написать латинский символ?
Вообще по-хорошему, при фокусе на едите определенном, нужно менять системную раскладку у юзера, а он, если захочет, поставит обратно ту, что была. Например: Код:
procedure TForm1.Edit1Enter(Sender: TObject); var Layout: array [0.. KL_NAMELENGTH] of char; begin GetKeyboardLayoutName(Layout); if Layout = '00000409' then // или Layout = '00000419', смотря какой язык нужен ActivateKeyboardLayout(HKL_NEXT,0) end; |
|
#14
|
||||
|
||||
|
!!!!! Отлична идея !!!!!
Напиши только остальные коды для раскладок (Layout) |
|
#15
|
||||
|
||||
|
Чё-то у меня системная раскладка пользователя не изменяется.
Может там ещё что-то нужно? ![]() |