日期:2014-05-18  浏览次数:20882 次

在MouseLeave()和MouseEnter()事件中无法实现类似qq窗体的停靠功能???
因为,当我的窗体滑出屏幕以后,鼠标没有办法再移动到其可见区域,导致MouseEnter()事件无法触发,

如何可以解决这个问题???

------解决方案--------------------
引用楼主 wesleyluo 的帖子:
因为,当我的窗体滑出屏幕以后,鼠标没有办法再移动到其可见区域,导致MouseEnter()事件无法触发,

如何可以解决这个问题???

------解决方案--------------------
移动窗体的时候,为什么鼠标没法移动到可见区域...你可以判断鼠标当前位置等,是否在窗口范围 PointInRect()
------解决方案--------------------
所客户区不会小到看不到,而是留有一个“小条”,就用这个小条来接收MouseEnter消息,比如QQ、Msn等不都是有一个小的“条型”存在吗?宽(或高)可以设置为5-15等,这样不会影响大体外观又能接收鼠标的事件。
------解决方案--------------------
可以在鼠标拖放事件中检测鼠标在屏幕中的位置,以此来避免上述情况。

------解决方案--------------------
不要将窗体全部都滑出屏幕,留一些用来接收鼠标事件。
------解决方案--------------------
QQ窗体也不是完全不可见吧,必须要留有一定边界才可以的嘛。。