写在前面:源码改良自精易模块,
修复:窗口闪现到左上角问题,现在不再闪现而是回归到移动的位置的屏幕边缘
新增:保留空间,可以有效防止窗口被拖到屏幕外面就剩一丢丢线条看不见,低于保留空间视为在屏幕外
已知bug:屏幕下方的保留空间检测好像还有点问题(懂技术的大佬麻烦给修复下qwq)
注意:如果选择用不了的话改成如果真也行,就是判断下有没有留空。
.版本 2
.子程序 窗口_是否在屏幕内2, 逻辑型, 公开, 判断指定窗口是否在屏幕内,在屏幕内返回真,否则返回假
.参数 窗口句柄, 整数型, , 要判断的窗口句柄
.参数 是否自动校正, 逻辑型, , 如果窗口的左边、顶边小于0或大于屏蔽宽度或高度,将自动校正。
.参数 顶端保留, 整数型, 可空, 留空默认为窗口宽度,如果窗口在屏幕内的尺寸低于此尺寸视为不在屏幕内!
.参数 左边保留, 整数型, 可空, 留空默认为窗口高度,如果窗口在屏幕内的尺寸低于此尺寸视为不在屏幕内!
.局部变量 精易_矩形, 精易_位置和大小
.局部变量 局_成立, 逻辑型
.局部变量 屏幕宽度, 整数型
.局部变量 屏幕高度, 整数型
精易_矩形 = 窗口_取位置和大小 (窗口句柄)
顶端保留 = 选择 (是否为空 (顶端保留), 精易_矩形.高度, 顶端保留)
左边保留 = 选择 (是否为空 (左边保留), 精易_矩形.宽度, 左边保留)
.如果真 (精易_矩形.左边 < 0 或 精易_矩形.顶边 < 0)
局_成立 = 真
.如果真结束
系统_取屏幕分辨率 (, , 屏幕宽度, 屏幕高度, )
.如果真 (精易_矩形.左边 + 左边保留 > 屏幕宽度 或 精易_矩形.顶边 + 顶端保留 > 屏幕高度)
局_成立 = 真
.如果真结束
.如果真 (局_成立 且 是否自动校正)
.如果真 (精易_矩形.左边 < 0)
窗口_置位置和大小 (窗口句柄, 0, 精易_矩形.顶边, 精易_矩形.宽度, 精易_矩形.高度)
.如果真结束
.如果真 (精易_矩形.顶边 < 0)
窗口_置位置和大小 (窗口句柄, 精易_矩形.左边, 0, 精易_矩形.宽度, 精易_矩形.高度)
.如果真结束
.如果真 (精易_矩形.左边 + 左边保留 > 屏幕宽度)
窗口_置位置和大小 (窗口句柄, 屏幕宽度 - 左边保留, 精易_矩形.顶边, 精易_矩形.宽度, 精易_矩形.高度)
.如果真结束
.如果真 (精易_矩形.顶边 + 顶端保留 > 屏幕宽度)
窗口_置位置和大小 (窗口句柄, 精易_矩形.左边, 屏幕高度 - 顶端保留, 精易_矩形.宽度, 精易_矩形.高度)
.如果真结束
.如果真结束
返回 (局_成立 = 假)