没有合适的资源?快使用搜索试试~ 我知道了~
Visual C++设计超强仿QQ自动伸缩窗口
3星 · 超过75%的资源 需积分: 9 53 下载量 92 浏览量
2009-04-29
18:56:42
上传
评论
收藏 56KB DOC 举报
温馨提示
试读
13页
某天在论坛上看到有人发帖询问QQ自动伸缩窗口是怎么实现的,我也好想知道,于是到百度一搜索,结果不多,来来去去都是那几篇,下载那些demo运行一下,发觉效果与QQ相差很大,于是决定自己动手做个,要求要近乎完美地模仿这个功能。由于是些效果的东西,贴图也看不出来,所以文章里就不截图了,想看效果的就直接运行源代码的demo吧。
资源推荐
资源详情
资源评论
某天在论坛上看到有人发帖询问 QQ 自动伸缩窗口是怎么实现的,我也好想知道,于
是到百度一搜索,结果不多,来来去去都是那几篇,下载那些 运行一下,发觉效果
与 相差很大,于是决定自己动手做个,要求要近乎完美地模仿这个功能。由于是些效
果的东西,贴图也看不出来,所以文章里就不截图了,想看效果的就直接运行源代码的
吧。
一、观察
模仿前最重要的一步就是观察,经过半天对 的摆弄和摸索,总结出了以下一些特
点:
、窗口开始粘附时检测的是鼠标坐标与桌面边界的距离,特别地,粘附在下面的时
候,检测的是与任务栏的距离;
、在向上移动窗口时,窗口边界永远不会超出桌面上面边界;
、窗口是个 风格;
、当窗口粘附在上面、左边或右边并显示时,你把鼠标移动到最顶端,光标变成改
变窗口大小的图标,而单单是把窗口的 坐标设置为 是不行的;
、粘附在下面的时候,当处于移动状态,那么窗口的底边是与任务栏顶边对齐的,
但从隐藏到显示的时候,窗口的底端是与屏幕底边对齐的;
、隐藏后显露出来的那条线可能是一个 ,但肯定的是绝不包含 区域;
、关于响应鼠标的进入与移出窗口,绝对不是
! 、 " #! 。证明:你以及其慢的速度接触隐藏状态
的 边界,你会发现几乎是“一触即发”,你又以及其慢的速度移出显示状态的 ,你会
发现它的收缩反而不是“一触即发”的,而是离边缘 象素左右。而
! , " #! ,只有在进入、移出 区域才响应,
明显和 不同,其实从第 点也可以知道;
$、粘附在两边的时候,高度会调整为桌面上边界到任务栏下边界的距离;
%、在“拖动时显示窗口内容”模式下(桌面属性-外观-效果),粘附在两边的拖动出
来时;如果收缩之前高度比收缩后小则回复原来高度,在非“拖动时显示窗口内容”模式下,
光栅会回复原来高度,但释放左键时,高度却是收缩时调整后的高度,一开始我以为这是
个 &,但我编写时同样出现这个问题,发现这两种模式会影响 !'(& 参数的
意义;
、粘附在两边的时候当你设置任务栏自动隐藏, 窗口会自动调整高度充满屏幕
高度;
、窗口显示或隐藏不是一瞬间的,这点在第 % 点提到的两种模式下,会有所不同;
、任务栏并不显示 窗口;
二、编写代码
观察完毕,就开始编写了。
首先新建一个基于对话框的 ) 程序,命名为 *,在对话框属性的
+ 页把 , 改为 -./,你也可同时把 +的 00
钩上,对于这点我在程序了动态修改了。
在 HideWndDlg.h 头文件添加以下成员函数:
12
33修正移动时窗口的大小
4)54/6'(70"8- -19:
33从收缩状态显示窗口
4;<069:
33从显示状态收缩窗口
4;*69:
33重载函数只是为了方便调用,实际调用 的 086=9
"0861>'#7"8- -1
'()?/@8*'(;9:
继续添加成员变量:
4?22".<?/:33窗口大小是否改变了
":33是否设置了检测鼠标的
'(*/<:33旧的窗口宽度 '(?A?*/<:33任务栏高度
'(/*/<:33边缘高度
'(/<:33边缘宽度
'(<:33隐藏模式
"<)<:33隐藏或显示过程是否完成
"</:33该参数只有在B<)< 才有效
33真2正在隐藏假2正在显示
增加消息响应,需要注意的是有些消息你只有把右下角的 Filter for message 设置为
window 才能看到。
(*'
!'(&
- #
' -
然后来到对应的 cpp 文件,在头部定义一些宏:
剩余12页未读,继续阅读
资源评论
- skysunhjz2012-08-03非常好的东西 可惜跟网上找的一样 没有程序
- Ivaaa2013-10-15能用是能用 跟之前百度的资源没有太大的差距。并不是很好。
qq6680282
- 粉丝: 2
- 资源: 21
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于python实现的基于PyQt5和爬虫的小说阅读系统.zip
- 机械设计整经机上纱自动化sw20非常好的设计图纸100%好用.zip
- Screenshot_20240427_031602.jpg
- 网页PDF_2024年04月26日 23-46-14_QQ浏览器网页保存_QQ浏览器转格式(6).docx
- 直接插入排序,冒泡排序,直接选择排序.zip
- 在排序2的基础上,再次对快排进行优化,其次增加快排非递归,归并排序,归并排序非递归版.zip
- 实现了7种排序算法.三种复杂度排序.三种nlogn复杂度排序(堆排序,归并排序,快速排序)一种线性复杂度的排序.zip
- 冒泡排序 直接选择排序 直接插入排序 随机快速排序 归并排序 堆排序.zip
- 课设-内部排序算法比较 包括冒泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、归并排序和堆排序.zip
- Python排序算法.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功