|
<< Нажмите, чтобы показать Содержание >> Типизированная константа RichViewUnicodeInputТип TRichViewUnicodeInput |
Модуль [VCL/FMX]: RVEdit / fmxRVEdit;
Синтаксис
type
TRichViewUnicodeInput = (rvuiStandard, rvuiAlternative);
const RichViewUnicodeInput: TRichViewUnicodeInput = rvuiStandard;
Эта константа игнорируется в Delphi/C++Builder 2009 и более новых версиях, поскольку они поддерживают полноценный ввод юникодного текста.
ТРВ-Редактор использует два способа обработки ввода юникодного текста:
▪«Стандартный» метод обрабатывает сообщения WM_CHAR и преобразует введённые символы в Юникод.
▪«Альтернативный» метод использует функцию ToUnicode. Он не может корректно обрабатывать «мёртвые клавиши» (то есть клавиши, нажатие которых имеет отложенный эффект, срабатывающий при следующем нажатии другой клавиши), поэтому его не следует использовать для раскладок клавиатуры, в которых они применяются.
Если RichViewUnicodeInput = rvuiStandard, «альтернативный» метод используется только для следующих языков:
▪языков, не имеющих собственной кодовой страницы, где невозможно использовать WM_CHAR;
▪казахского, татарского, монгольского, азербайджанского (кириллица и латиница), узбекского, киргизского и сербского – эти языки содержат символы, отсутствующие в соответствующих кодовых страницах.
В целом этот режим работает хорошо. Однако для некоторых нестандартных раскладок клавиатуры «стандартный» метод может обрабатывать ввод не совсем корректно.
Установите RichViewUnicodeInput = rvuiAlternative, чтобы всегда использовать «альтернативный» метод. Делать это рекомендуется только при возникновении проблем с конкретной раскладкой клавиатуры.