0

在一个主窗口hwndFrame中,它有一个hwndChild有一个孩子的孩子hwndDescendant。这两个孩子没有非客户区。hwndDescendant占据了 的大部分区域hwndChild,所以hwndChild看起来只是 的一个“边界” hwndDescendant。这个“边界”的宽度只有 4 个像素。(但大小hwndChild比这大得多)。

我想跟踪WM_MOUSELEAVE“hwndChild”。如果我慢慢移动鼠标,这很好。hwndFrame但是,如果我从to快速移动鼠标,hwndDescendant反之亦然,hwndChild没有收到WM_MOUSEMOVE,因此也没有WM_MOUSELEAVE

此外,当鼠标移动hwndChild到其中一个hwndFramehwndDescendant将生成 WM_MOUSELEAVE。但我希望当从移动hwndChildhwndDescendant不生成WM_MOUSELEAVE.

我不想通过子类化的窗口过程来解决这个问题hwndDescendant,因为如果hwndChild有很多孩子,这不是一个好方法。

SetCapture方法不可取。在这种情况下,我可以处理这个问题的最佳方法是什么?

4

0 回答 0