Опыт написания WLX плагина с использованием QT

Только для тех, кто пишет плагины под Total Commander. Обмен опытом, решение проблем.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

Ответить
Nox Metus
Сообщения: 1
Зарегистрирован: Вт сен 08, 2009 19:44

Опыт написания WLX плагина с использованием QT

Сообщение Nox Metus »

Решил я написать плагин для TC на qt. Первая проблема состояла в том, чтобы встроить QWidget в окно, которое не является окном qt. Плюс нужно создать экземпляр QApplication. После недолгих поисков на сайте qt нашлись соответствующие классы QMfcApp и QWinWidget.

Всё замечательно работало, пока я не решил обрабатывать сообщения от мыши. Оказалось, что TC удаляет из очереди сообщений потока листера сообщения о движении мыши. Не все, но большую часть, т.е. он по какому-то таймауту вырезает все сообщения о быстром движении, оставляет только сообщение о начале движения и сообщение о конце. Это полная и совершенно неожиданная засада. Пришлось ставить хук на очередь сообщений и обрабатывать сообщения от мышки в процедуре хука, а не в процедуре окна. Никто с таким не сталкивался? Это характерно для других версий TC, кроме 7.04a? У кого-нибудь есть идеи зачем это вообще было нужно?
Ich weiß nicht, was du sagest.
Ответить