FormKeyPress и кирилица

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
SeventhSon
новенький
Сообщения: 56
Зарегистрирован: 17.02.2009 00:57:17

FormKeyPress и кирилица

Сообщение SeventhSon »

Обрабатываю в FormKeyPress нажатие русских букв.

Код: Выделить всё

var KeyW:WideString;
begin
 KeyW:=WideString(Key);
  case KeyW of
  'q':
  'ц':

Вопрос такой. Как теперь к Edit1 добавить нажатый символ?

Код: Выделить всё

Edit1.Text:=Edit1.Text+Key

для английских букв и цифр срабатывает а при нажатии русской буквы-нет.
ОС-Win7, Lazarus из SVN 40077
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Посмотри аналогичные события - только с UTF8
SeventhSon
новенький
Сообщения: 56
Зарегистрирован: 17.02.2009 00:57:17

Сообщение SeventhSon »

Где посмотреть? все файлы Лазаруса в кодировке UTF-8. И разве кодировка UTF-8 тут повлияет? sizeof(Key)=1.
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Код: Выделить всё

type
  TUTF8KeyPressEvent = procedure(Sender: TObject; var UTF8Key: TUTF8Char) of Object;


Код: Выделить всё

property OnUTF8KeyPress: TUTF8KeyPressEvent;

Медитируем над этим событием и осознаём, что русские символы в UTF8 занимают 2 байта...
Ответить