WPF无边框窗口源码
功能介绍:
WPF的仿QQ窗体,贴边自动隐藏,无边框窗体,可拖拽实现缩放,最大化不覆盖任务栏
方法简单,不会占用视图的资源,纯代码完成。
实现方法:
OnMouseLeftButtonDown(),OnMouseMove(),OnMouseLeave()三个事件完成这些操作。
都使用当前窗体的三个事件完成,不需要借用子元素。核心事件在OnMouseMove中,原理
是,当鼠标移动到窗体边缘时,判断鼠标是否按下,如果按下了,即进行缩放操作并改变
鼠标样式。
我们知道当窗体拖拽移动时,也会激发这个事件,所以,我们再判断,窗体是否已经移动
到屏幕边缘,如果是的话,让窗体隐藏,即移动窗体到屏幕上面,只保留一个小边,如果
窗体已经隐藏,则显示窗体。
由于这里的鼠标坐标,是相对屏幕的坐标,所以使用了Win32 API,窗体移动使用的
也是Win32 API来实现
注意:
开发环境为Visual Studio 2008
作者:ryb666666