在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2812|回复: 14

[原创] 一个实现两个窗口跟随zoom的skill脚本

[复制链接]
发表于 2023-5-5 10:30:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 着着着火了 于 2023-5-5 17:11 编辑

此脚本学习至实现多个layout窗口同步操作
https://bbs.eetop.cn/thread-946875-1-1.html
(出处: EETOP 创芯网论坛 (原名:电子顶级开发网))

脚本作用如题。
用法:在CIW窗口load ChangeWindowBZoomFromWindowA.il,然后用ChangeWindowBZoomFromWindowAMain()调用。

做成了form的形式,看起来也不会常用,所以把其丢入进MenuBar最合适了。
MenuBar.png

解绑的代码是用hiUnregPanProc()函数,我写到了我自己的二级菜单中,这里附件里没有,不想那么麻烦的就在CIW窗口敲一下就好了。

MenuItem.png
form.png


ChangeWindowBZoomFromWindowA.zip

706 Bytes, 下载次数: 54 , 下载积分: 资产 -2 信元, 下载支出 2 信元

 楼主| 发表于 2023-5-6 11:37:53 | 显示全部楼层
要想实现多个窗口(新打开的也行)控制同一个指定的窗口,就去代码处把hiRegZoomyPanProc()函数里的第二个window的参数删掉
 楼主| 发表于 2023-5-10 16:19:02 | 显示全部楼层
本帖最后由 着着着火了 于 2023-5-10 17:20 编辑

写了个附加版本,加载函数,所有layout窗口都同步放大缩小;再加载另一个函数,取消这一设定。相当于一个开关,打开就所有窗口同步,关上就恢复原来的操作方式。


使用方法:
打开开关:在CIW窗口load ChangeWindowZoom.il脚本,然后用ChangeWindowZoomMain()调用。
关上开关:在CIW窗口load CancelChangeWindowZoom.il脚本,自动取消。
Tips:已经load过一次后可直接输入函数调用,不用重复load(取消的这个还是要load的,偷懒不想写这么多)

ChangeWindowZoom.zip

430 Bytes, 下载次数: 30 , 下载积分: 资产 -2 信元, 下载支出 2 信元

CancelChangeWindowZoom.zip

235 Bytes, 下载次数: 24 , 下载积分: 资产 -2 信元, 下载支出 2 信元

发表于 2023-5-5 14:45:56 | 显示全部楼层
前来学习
发表于 2023-5-10 09:45:00 | 显示全部楼层
用这个可能需要懂skill,知道怎么获取window id 去手动给他window number,是否可以优化,通过选winow来给它window number
发表于 2023-5-10 09:46:07 | 显示全部楼层


ljh065216 发表于 2023-5-10 09:45
用这个可能需要懂skill,知道怎么获取window id 去手动给他window number,是否可以优化,通过选winow来给 ...


该有可能需要对window cellview类型进行判定,才同步
发表于 2023-5-10 10:10:09 | 显示全部楼层
我比较疑惑的时B 窗口的bBox是如何传递给它的,并没有赋值
 楼主| 发表于 2023-5-10 14:18:05 | 显示全部楼层


ljh065216 发表于 2023-5-10 09:45
用这个可能需要懂skill,知道怎么获取window id 去手动给他window number,是否可以优化,通过选winow来给 ...


不需要懂skill,我做成form形式就是傻瓜式操作了。


window id在打开的layout里有,只需在form里填入对应的window id就行了。
window_number.png


form.png


 楼主| 发表于 2023-5-10 14:23:43 | 显示全部楼层


ljh065216 发表于 2023-5-10 09:46
该有可能需要对window cellview类型进行判定,才同步


这个我在代码里就写死了类型,输入的field也限定了int类型
 楼主| 发表于 2023-5-10 14:27:33 | 显示全部楼层
本帖最后由 着着着火了 于 2023-5-10 15:04 编辑


ljh065216 发表于 2023-5-10 10:10
我比较疑惑的时B 窗口的bBox是如何传递给它的,并没有赋值


B窗口被触发执行了hiZoomIn()这个函数,不需要传递数据。A窗口才是传递bBox的主体
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

×

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-5 19:37 , Processed in 0.026340 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表