如题

解决方案 »

  1.   

    1.在WM_NCMOUSEMOVE里添加如下代码
    TRACKMOUSEEVENT tme;
    tme.cbSize = sizeof(tme);
    tme.dwFlags = TME_LEAVE;
    tme.hwndTrack = m_hWnd;
    tme.dwHoverTime = HOVER_DEFAULT;
    _TrackMouseEvent(&tme);
    即注册TME_LEAVE
    2. 注册后当鼠标离开窗口时窗口会收到WM_MOUSELEAVE,在里面处理即可
      

  2.   

    你的方法我试过了。
    这样的话,鼠标从客户区进入非客户区也会触发wm_mouseleave
      

  3.   

    你计算出客户区、非客户区的Rgn,
    如果触发wm_mouseleave,就判断当前鼠标的位置。这个应该可以吧?