2013-07-04 1 views
-1

У меня есть окно WPF, в котором находится окно Win32, у меня есть класс, унаследованный от HwndHost.WPF-хост Win32-окно заморожено из-за множественного WM_NCHITTEST при перемещении мыши над нижним правом углом

Все работает нормально, за исключением случаев, когда я перемещаю мышь в нижнем правом углу окна WPF, окно замерзает.

Я использовал Spy ++, чтобы узнать, что происходит. Оказывается, окно WPF получает несколько сообщений WM_WINDOWPOSCHANGING каждые 2-3 секунды, а окно Win32 постоянно получает много WM_NCHITTEST.

Как я могу решить эту проблему? Спасибо.

ответ

0

Я нашел решение, установив размер окна Win32 равным 1 пикселю (как ширине, так и высоте) меньше, чем окно WPF Host, проблема исчезла.

Я думаю, что это связано с тем, что окна Win32 и WPF используют одну и ту же неклиентскую область, а сообщения получают цикл.