左端超出屏幕时 记忆位置等状态 失效

BUG反馈 · 49 次浏览
FaniX 创建于 10天1小时前

重现方法:

  1. 操作类型为显示操作窗,窗口标识为=,勾选了记忆位置等状态
  2. 运行动作,将显示的操作窗移动到屏幕左边缘
  3. 再次运行动作,操作窗位置发生了变化

测试动作


回复内容
CL 10天0小时前
#1

这应该是正常的,为了解决有的情况下断开扩展屏的时候操作窗找不到的问题。 

当左上角在屏幕外面的时候,会判断成可能的屏幕断开事件,再次显示会确保在屏幕内部。

FaniX 回复 CL 9天17小时前 :

目前的判断逻辑似乎不能很好满足这个目的,一方面操作窗左上角超出屏幕左侧范围和右下角超出屏幕右侧范围的行为是不一样的,会有点令人困惑;另一方面似乎只检测了操作窗左上角是否超出了显示器的最大范围,如果两个显示器长宽不一致,把窗口放到显示范围的死角也是不会重置位置的(如下图)。


可以的话能不能改成操作窗矩形和任一屏幕没有交集的时候重置位置?

FaniX 最后更新于 9天17小时前
CL 回复 FaniX 9天16小时前 :

这种方式相对简单,而且操作窗本身可以折叠,右下角的位置会变,没法作为依据。


FaniX 回复 CL 9天16小时前 :

了解了。另外我又试了一下,如果操作类型是 显示操作窗并等待关闭 ,把操作窗左侧移到屏幕左边缘之外,再次运行动作的时候操作窗还是在原位(此时会先关闭原来的窗口再新建一个,所以闪烁一下);如果是 显示操作窗 ,把操作窗左侧移到屏幕左边缘之外,再次运行就会改变位置。

回复主贴