Окно Win32 хоста WPF заморожено из-за нескольких WM_NCHITTEST при наведении мыши на правый нижний угол
У меня есть окно WPF, в котором размещается окно Win32, у меня есть класс, унаследованный от HwndHost.
Кажется, что все работает нормально, за исключением того, что когда я перемещаю мышь в правом нижнем углу окна WPF, окно зависает.
Я использовал Spy++, чтобы увидеть, что происходит. Оказывается, что окно WPF получает несколько сообщений WM_WINDOWPOSCHANGING каждые 2-3 секунды, а окно Win32 постоянно получает много WM_NCHITTEST.
Как я могу решить эту проблему? Спасибо.
1 ответ
Я нашел решение, установив размер окна Win32 на 1 пиксель (и ширину, и высоту) меньше, чем окно хоста WPF, проблема исчезла.
Я думаю, это связано с тем, что окна Win32 и WPF совместно использовали одну и ту же не-клиентскую область и сообщения зацикливались.