精易论坛

标题: 窗口是否在屏幕内 [打印本页]

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

返回 (局_成立 = )


作者: 孤城已故    时间: 2021-1-6 14:17
支持一下
作者: ghost12    时间: 2022-3-7 22:00
全论坛易友发来贺电
作者: dangerace    时间: 2022-9-27 16:44
我是三屏幕,中间屏幕是主屏,这样左边的屏幕的横坐标就是负的,根据坐标是否为负来判断是否在屏幕内是无效的。




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4