窗口增强移动无法移动至范围中包含有负值的位置。

BUG反馈 · 922 次浏览
sd309991 创建于 2022-10-13 20:57

移动窗口 - 动作信息 - Quicker (getquicker.net)

顶边(top)设置为-11后,移动失败。

改为0后,移动成功

另外,移动窗口位置是否包含阴影尺寸似乎是需要澄清的(窗口模块获得的时候有分开),因为现在移动的时候想要变成最大化的窗口,使用普通的范围移动过去还是一定为大于等于0的数,但是因为阴影存在的关系,这个尺寸实际上应该要为负值才能够与原来的范围对上。

1.使用普通尺寸移动的时候坐标是这样的

 

 

sd309991 最后更新于 2022/10/13

回复内容
CL 2022-10-13 22:41
#1

这个功能对移动位置做了判断(为了避免移动到不存在的屏幕上),如果左上角和右下角都不在屏幕里,就会限制左上角在0,0点。

最大化最好直接设置窗口状态比较好。

阴影实测边框是包含的。

这个底层调用的是 https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setwindowpos 可以参考下。


CL 回复 CL 2022-10-13 22:44 :

后面考虑增加一个去掉阴影区域的选项。

sd309991 回复 CL 2022-10-13 22:49 :

谢谢了,还有例如贴图的显示和获取也是不一致的,希望能提供一种可以获取并且显示的数值(同样显示效果),因为涉及到窗口的移动与恢复,有时候不得不记忆最后的位置然后重新显示。


谢谢了

sd309991 最后更新于 2022-10-13 22:50
CL 回复 sd309991 2022-10-13 22:52 :

贴图窗口有额外添加的阴影边框,每次都需要计算位置的,那个比较复杂一些。其它窗口可以在获取位置的时候选上包含阴影边框的选项,这时候获取和设置位置应该就可以统一了。

sd309991 回复 CL 2022-10-13 22:56 :

但是包含阴影的话,如果接近最大化,会出现负数的结果。这个时候就无法准确移动了。能否在出现负值的时候自动转为最大化呢?

sd309991 最后更新于 2022-10-13 22:58
回复主贴