忽略WindowFromPoint()中的HWND

时间:2017-01-27 01:39:52

标签: c++ winapi docking panes

我正在win32 c ++中创建一个可停靠窗口的系统。为了实时反馈您拖动新窗口的位置,我创建了一个特殊的调试窗口,该窗口仅在拖动过程中出现并显示它将停靠的位置。为了找出将停靠哪个窗格,我需要考虑重叠的窗口并找到最顶层的窗口。为此,我调用WindowFromPoint(x,y),它立即在鼠标下找到HWND。这会导致问题,因为当显示调试窗口时,它会被WindowFromPoint捕获,我想忽略它。 我附上了一张照片。enter image description here

如果有人对此计划有其他建议,我很高兴听到。我想保留一些窗口顺序列表并在每次新窗口获得焦点时进行跟踪,但这似乎也是一件非常令人头疼的问题......

1 个答案:

答案 0 :(得分:2)

好的,我懂了!我有正确的想法,但我没有意识到返回0的全局解决方案在窗口过程中是一个坏主意。这是正确的回报:

case WM_NCHITTEST:              
        return HTTRANSPARENT;       

感谢这个主题:Find all windows beneath a point