pyqsplitter 保持一个窗口不能拖动_关于窗口拖动时的一个小问题

关于窗口Resize的另一个小问题

强制滚动条的整数型滚动可以解决界面绘制出现一根线的问题,但是当我们拖动窗口的上下边缘来调整窗口大小时,我们会发现:当窗口被试图拖到到一个非整型的大小时,窗口的大小调整反馈和实际的窗口大小不一致。
要更加清晰地观察到以上现象,需要启用系统中的”拖动时显示窗口内容”选项。

如何解决

通过WM_SIZING消息,我们可以在窗口大小调整时修正调整反馈。
以下代码展示了如何调整矩形大小来匹配鼠标释放时的矩形。

40101cc44ca606967470889ebb460cdb.png

加入了以上代码后,我们可以观察到:当你拖动窗口时,窗口的大小完全匹配的窗口的实际拖动反馈的大小。当你垂直地水平地拖动鼠标时,窗口的大小会以一个整数单元值进行变化。

小练习

当我们强制对窗口大小调整进行整型化时,为什么我们也依然需要在WM_WINDOWPOSCHANGING消息的处理函数中强制整型化?

问题解答

因为WM_SIZING消息只是会在交互式调整窗口大小时发出,如果用户在任务栏点击右键然后选择”重叠窗口”,这将会直接对窗口进行大小调整,而不会经过WM_SIZING消息处理例程。

总结

对于滚动条的窗口自适应就先讲到这里,都是一些细枝末节的小知识。但是如果没有考虑到它们,则在呈现我们的产品界面时,或多或少会让我们的用户感到疑惑。另一方面,如果你和我一样,也是一个完美主义者,那么,不用我说,你也会不自觉对这些细节有兴趣。
做产品,慢慢来,不能操之过急。最终的目标还是:像个匠人一样,日复一日的打磨自己的东西。

我们将会在即将到来的第9章节带来滚动条系列的其他主题,敬请期待。

83016879a8877986f185fee6ad9094bc.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值