摘要:
某天在论坛上看到有人发帖询问QQ自动伸缩窗口是怎么实现的,我也好想知道,于是到百度一搜索,结果不多,来来去去都是那几篇,下载那些demo运行一下,发觉效果与QQ相差很大,于是决定自己动手做个,要求要近乎完美地模拟这个功能。由于是些效果的东西,贴图也看不出来,所以文章里就不截图了,想看效果的就直接运行源代码的demo吧。
一、观察
模拟前最重要的一步就是观察,经过半天对QQ的摆弄和摸索,总结出了以下一些特点:
1、窗口开始粘附时,检测的是鼠标坐标与桌面边界的距离,非凡地,粘附在下面的时候,检测的是与任务栏的距离;
2、在向上移动窗口时,窗口边界永远不会超出桌面上面边界;
3、窗口是个 TopMost 风格;
4、当窗口粘附在上面、左边或右边并显示时,你把鼠标移动到最顶端,光标变成改变窗口大小的图标,而单单是把窗口的top坐标设置为0是不行的;
5、粘附在下面的时候,当处于移动状态,那么窗口的底边是与任务...[ 查看全文 ]