Заходит негр в компьютерную фирму и говорит:
- Здравствуйте, я ищу работу. У меня степень доктора наук по компьютерам.
Ему отвечают:
- Хорошо, мы вас возьмем. Для начала мы дадим вам 100 тысяч долларов в год, мы же вас пока плохо знаем. Согласны?
- Согласен.
- Да, мы вам дадим автомобиль, но покамест только "опель", потом что-нибудь лучше дадим. Согласны?
- Согласен.
- И еще мы вам дадим квартиру в хорошем районе, но пока только однокомнатную. Вас это устраивает?
Тут негр не выдерживает:
- Послушайте! Вы что, надо мной прикалываетесь?!
- Но ты же первый начал.
Самое главное, что мне не нравится в Richedit - это то, что он сам меняет
язык при перемещении по тексту, не смотря, что вы включили нужный язык, при
переходе на участок текста, набраный другим языком.
этот баг я обхожу так.
я создаю потомка Richedit:
меню Component\New Component
указываю предком TRichedit
Переписаю обработку события WM_INPUTLANGCHANGE, при этом я не вызываю
обработчик предка, т.е. Richedit-а
Заодно обрабатываю событие WM_INPUTLANGCHANGEREQUEST, которое сообщает, что
пользователь изменил язык. Тут надо вызвать обработчик предка, а то не будет
переключаться язык.
Вот что из этого получилось. Имеем исправленный
компонент VCL с дополнительным событием.
Richedit сам изменяет язык при перемещении по тексту, что может быть неудобно для пользователей.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.