Название: Функция LoadKeyboardLayoutA тормозит окна Отправлено: yarick от Июнь 19, 2013, 10:42 Решил сделать переключение раскладки на русскую при открытии окна Qt приложения. В конструкторе класса, наследуемого от QMainWindow, написал
Код: LoadKeyboardLayoutA("00000419", KLF_ACTIVATE); Работать то оно работает, но вот окно заметно подлагивает в момент открытия - даже для релиза( Кроме того - я измерил время выполнения этой строчки по таймеру - 0,5 сек! Да майкрософт с ума чтоли сошли? Название: Re: Функция LoadKeyboardLayoutA тормозит окна Отправлено: Bepec от Июнь 19, 2013, 10:49 Вроде уже было - это системная функция. Никак вроде не избавиться, но могу и не помнить подробностей.
Название: Re: Функция LoadKeyboardLayoutA тормозит окна Отправлено: yarick от Июнь 19, 2013, 10:54 Нашёл. Мда, это ещё один аргумент чтобы переходить на линукс
Название: Re: Функция LoadKeyboardLayoutA тормозит окна Отправлено: Bepec от Июнь 19, 2013, 10:55 Есть всегда обходные пути. Ещё один повод ломать голову в линуксе, устанавливая программы? не не не :)
Название: Re: Функция LoadKeyboardLayoutA тормозит окна Отправлено: yarick от Июнь 19, 2013, 11:00 А какие обходные пути? Я просто хочу чтобы когда пользователь переключался в текстовый редактор, у него русский включался автоматически.
Насколько я понял, то через винапи LoadKeyboardLayoutA решение проблемы не существует. Откладывание через таймер попробовал - но оно не помогает, мне нужно сразу же изменить раскладку Название: Re: Функция LoadKeyboardLayoutA тормозит окна Отправлено: Serr500 от Июнь 19, 2013, 11:21 http://www.prog.org.ru/topic_23910_0.html (http://www.prog.org.ru/topic_23910_0.html)
Название: Re: Функция LoadKeyboardLayoutA тормозит окна Отправлено: Alex Custov от Июнь 19, 2013, 15:44 Это так работает, и ничего нельзя сделать. В той теме что дали выше я нашёл только одно решение через события, которое возможно подойдёт тебе (потому что я меняю раскладку в чужом окне, а не своём):
Код
не помню, нужно ли делать AttachThreadInput при отсылке этого события в чужое окно. Название: Re: Функция LoadKeyboardLayoutA тормозит окна Отправлено: yarick от Июнь 21, 2013, 16:18 Ладно, а почему тогда при нажатии alt+shift ничего не тормозит? Есть идея - может через винапи сэмулировать нажатие клавиш?
|