WM_MOUSELEAVE和父子窗口

时间:2012-08-21 23:35:42

标签: c winapi

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

我想跟踪'{hwndChild'的WM_MOUSELEAVE。如果我慢慢移动鼠标,这样可以正常工作。 但是,如果我将鼠标从hwndFrame快速移动到hwndDescendant,反之亦然,hwndChild没有收到WM_MOUSEMOVE,因此WM_MOUSELEAVE也没有。{/ p>

当鼠标从hwndChild移动到hwndFramehwndDescendant时,也会生成WM_MOUSELEAVE。但我希望从hwndChild移至hwndDescendant时不会生成WM_MOUSELEAVE

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

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

0 个答案:

没有答案