Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Как сделать так, чтобы в компонент TEdit можно было вводить текст только на английской раскладке?

Delphi , Компоненты и Классы , TEdit

Как сделать так, чтобы в компонент TEdit можно было вводить текст только на английской раскладке?

когда TEdit получает фокус надо вызвать:

Code:
ActivateKeyboardLayout($409, 0);

если этого мало тогда почитай про WM_INPUTLANGCHANGE

Автор: cully

Взято с Vingrad.ru http://forum.vingrad.ru

Хорошая вопроска!

Чтобы ограничить ввод только английскими символами в компоненте TEdit, вы можете использовать функцию ActivateKeyboardLayout, как предложил cully.

Вот пример, как это сделать:

procedure TForm1.Edit1Enter(Sender: TObject);
begin
  ActivateKeyboardLayout($409, 0); // Установить английский язык
end;

Код будет устанавливать язык клавиатуры в английский при получении фокуса компонентом TEdit.

Значение $409 в функции ActivateKeyboardLayout соответствует константе Windows API KL_ENGLISH_US, которая представляет собой американский английский язык клавиатуры.

Если вы хотите ограничить ввод еще дальше, вы можете также использовать сообщение WM_INPUTLANGCHANGE, как предложил cully. Это сообщение отправляется окну при изменении языка ввода. Вы можете обрабатывать это сообщение в методе WndProc вашей формы:

procedure TForm1.WndProc(var Message: TMessage);
begin
  case Message.Msg of
    WM_INPUTLANGCHANGE:
      ActivateKeyboardLayout($409, 0); // Установить английский язык
  end;
end;

Используя оба метода, вы можете обеспечить, что компонент TEdit только принимает ввод на английском языке.

Заметка: значение $409 - это шестнадцатеричная константа, представляющая собой американский английский язык клавиатуры. Вы можете использовать другие значения для установки других языков клавиатуры, таких как $407 для британского английского или $408 для канадского английского.

Чтобы в компонент TEdit можно было вводить текст только на английской раскладке, необходимо вызвать функцию ActivateKeyboardLayout($409, 0) при получении фокуса компонентом.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: TEdit ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100

Время компиляции файла: 2024-05-19 17:53:24
2024-05-20 00:39:42/0.0044689178466797/2