开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 6800|回复: 1
收起左侧

[已回应] 类_配置项ex的BUG,与改进建议

[复制链接]
结帖率:23% (8/35)
发表于 2021-10-9 11:45:38 | 显示全部楼层 |阅读模式   河南省洛阳市
本帖最后由 远航接单 于 2021-10-9 11:51 编辑

1.类_配置项ex类中的方法  读,写  与系统核心支持库中的 读,写 重复,建议改为 读取,写入。遵循基本的开发规范
2.类_配置项ex类中 第91行,  读方法中 应改为方法2,否则如果初始化中设置了加密字符,后面选择不加密都会失效

  
判断 (集_加密密码 ≠ “” 局_对比结果 = )
局_文本 = 文本_解密 (局_文本, 集_加密密码)


  
判断 (集_加密密码 ≠ “” 局_对比结果 = 解密 = )
局_文本 = 文本_解密 (局_文本, 集_加密密码)





3.窗口位置_读取 ,窗口位置_保存,
   原方法 没有考虑到多屏的情况(不能简单根据  左边<0 就 左边=0)
   原方法 中用执行文件名作为节点名的话就不支持调试模式,根据实际开发经验,调试状态下,也经常需要保存/读取窗口位置,不然每次都调试需要移动窗口

   原方法 在窗口最小化状态下,无法记录窗口的 左边,顶边情况
   原方法 中,用窗口作为参数,不支持保存 控件的位置与大小情况,如果用句柄的方式,不光支持窗口也能支持其他控件类型
   建议修改为以下方法
    GetWindowPlacement  支持在最小化状态下,获取位置与尺寸
  
数据类型名公开备 注
WINDOWPLACEMENT 
成员名类 型传址数组备 注
Length整数型 结构的长度
flags整数型 控制最小化窗口的位置和恢复窗口的方法(#WPF_xxx)
showCmd整数型 窗口的当前显示状态(#SW_xxx)
ptMinPositionPOINT 窗口最小化时窗口左上角的坐标
ptMaxPositionPOINT 窗口最大化时窗口左上角的坐标
rcNormalPositionRECT 当窗口处于恢复位置时窗口的坐标

子程序名返回值类型公开备 注
窗口位置_保存_New 
参数名类 型参考可空数组备 注
窗口句柄整数型
节点名文本型唯一节点名 ,区别其他窗口
变量名类 型静态数组备 注
plaWINDOWPLACEMENT 
list文本型0
如果真 (GetWindowPlacement (窗口句柄, pla) ≠ 0)
加入成员 (list, 到文本 (pla.Length))
加入成员 (list, 到文本 (pla.showCmd))
加入成员 (list, 到文本 (pla.flags))
加入成员 (list, 到文本 (pla.ptMinPosition.X))
加入成员 (list, 到文本 (pla.ptMinPosition.Y))
加入成员 (list, 到文本 (pla.ptMaxPosition.X))
加入成员 (list, 到文本 (pla.ptMaxPosition.Y))
加入成员 (list, 到文本 (pla.rcNormalPosition.left))
加入成员 (list, 到文本 (pla.rcNormalPosition.top))
加入成员 (list, 到文本 (pla.rcNormalPosition.right))
加入成员 (list, 到文本 (pla.rcNormalPosition.bottom))
写入 (节点名, “pos”, 数组_合并 (list, “,”), )

子程序名返回值类型公开备 注
窗口位置_读取_New 
参数名类 型参考可空数组备 注
窗口句柄整数型
节点名文本型唯一节点名 ,区别其他窗口
不读取最小化逻辑型最小化状态不读取,新载入窗口一般都不最小化
不读取窗口大小逻辑型有些情况下,只读取窗口位置,不读取大小
变量名类 型静态数组备 注
plaWINDOWPLACEMENT 
pos精易_位置和大小 
list文本型0
list = 分割文本 (读取 (节点名, “pos”, “0”, ), “,”, )
如果真 (取数组成员数 (list) = 11)  ' 最小花
pla.Length = 到整数 (list [1])
pla.showCmd = 到整数 (list [2])
pla.flags = 到整数 (list [3])
pla.ptMinPosition.X = 到整数 (list [4])
pla.ptMinPosition.Y = 到整数 (list [5])
pla.ptMaxPosition.X = 到整数 (list [6])
pla.ptMaxPosition.Y = 到整数 (list [7])
pla.rcNormalPosition.left = 到整数 (list [8])
pla.rcNormalPosition.top = 到整数 (list [9])
pla.rcNormalPosition.right = 到整数 (list [10])
pla.rcNormalPosition.bottom = 到整数 (list [11])
如果真 (不读取最小化 = pla.showCmd = 2)  ' 最小化状态不读取,新载入窗口一般都不最小化
pla.showCmd = 0

如果真 (不读取窗口大小 = )
pos = 窗口_取位置和大小 (窗口句柄)
pla.rcNormalPosition.right = pla.rcNormalPosition.left + pos.宽度
pla.rcNormalPosition.bottom = pla.rcNormalPosition.top + pos.高度

SetWindowPlacement (窗口句柄, pla)
DLL命令名返回值类型公开备 注
SetWindowPlacement整数型 设置窗口状态和位置信息  非零表示成功,零表示失败。会设置GetLastError
DLL库文件名:
user32
在DLL库中对应命令名:
SetWindowPlacement
参数名类 型传址数组备 注
hwnd整数型欲设置位置信息的窗口的句柄
lpwndplWINDOWPLACEMENTWINDOWPLACEMENT,这个结构包含了窗口的位置与状态信息;
DLL命令名返回值类型公开备 注
GetWindowPlacement整数型 获得指定窗口的状态及位置信息  非零表示成功,零表示失败。会设置GetLastError
DLL库文件名:
user32
在DLL库中对应命令名:
GetWindowPlacement
参数名类 型传址数组备 注
窗口句柄整数型欲获取信息的那个窗口的句柄
情况WINDOWPLACEMENTWINDOWPLACEMENT,包含的窗口位置和状态信息的结构;




评分

参与人数 1好评 +1 精币 +5 收起 理由
项目部004 + 1 + 5 此处应该有鼓励~

查看全部评分

结帖率:94% (181/193)

签到天数: 22 天

发表于 2021-10-9 14:25:48 | 显示全部楼层   安徽省芜湖市
精易有你更加好 感谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表