类似QQ贴边掩藏功能的实现(下)

大体功能基本实现了,但还需要结合我们产品的特性去考虑一些细节问题,并进行充分的测试。下面将列出在开发过程中遇到的一些主要的细节和问题。

1、WM_MOVING问题

       在测试向左和向右的贴边掩藏时,发现一个奇怪的问题:在我的机器上运行没问题,在别人的机器上却有问题。具体表现为:当拖动窗口向左或右贴边掩藏时,在触发掩藏的那一刻,从高度方向看,只看到一个充满整个桌面客户区的虚线框,窗口并没有充满整个桌面客户区。此时,对比了QQ和飞信,QQ是没问题的,飞信却存在类似的问题。

       后来到百度上搜了一下,找到一篇相关的文章,提到这与系统属性的设置有关。在我的电脑 -> 属性 -> 高级 -> 视觉效果页面中勾选“拖动窗口时显示内容”选项,就可以了。于是试了一下,确实可以达到预想的效果了。但这并没有从根本上解决问题,总不能让用户去手动修改这样的系统设置吧;难道需要我们通过代码去设置系统的这个属性?最终还是找到了原因,这与窗口的移动机制有关。

      在窗口的移动过程激发了无数个WM_MOVING消息,通常情况下,发生MOVING的时候正是上面所说拖动虚框的时候,这时窗口并未真正的移动,真正的移动只有一次,那就是最终的那个WM_MOVE激发的时刻。了解了上述过程,我们可以在发生WM_MOVING的时候就移动窗口,所以在上面的FixMoving函数中加上了MoveWindow函数。这样,问题就解决了。

2、窗口的掩藏与展开的抽屉般的动画效果

       要实现所谓的抽屉般的动画效果,其实就是分若干步将窗口移动到目标位置,这需要通过定时器来控制。但是发现在分步的情况下窗口会有一定的闪烁的问题,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dvlinker

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值