找回密码
 立即注册

QQ登录

只需一步,快速开始

祁画

注册会员

18

主题

70

帖子

194

积分

注册会员

积分
194
祁画
注册会员   /  发表于:2024-11-28 11:36  /   查看:125  /  回复:4
1金币
本帖最后由 祁画 于 2024-11-28 14:51 编辑

我监听了【Designer.mergeCenter】, 【Designer.mergeCells】, 【Designer.mergeAcross】这三个命令,合并的时候给单元格的tag设置了一个值是proxycell = true,然后监听 【Designer.unmergeCells】命令,取消单元格的时候给proxycell设置为false, 但是通过工具栏的撤销或者 ctrl + z 的时候是不会走【Designer.unmergeCells】监听的, 有什么方法可以监听到撤销操作,然后设置选中的单元格的tag里的proxycell为false吗

最佳答案

查看完整内容

我的想法是通过actionType去判断, 如果是0的话:走合并监听就设置proxycell = true,走取消合并就设置proxycell = false 如果是1的话,是撤销操作,走合并监听的话,设置proxycell = false,走取消合并就设置proxycell = true 如果是2的话,是重做操作,走合并监听的话,设置proxycell = true,走取消合并就设置proxycell = false 这样可行吗? 或者是否有什么更好的方法嘛

4 个回复

倒序浏览
最佳答案
最佳答案
祁画
注册会员   /  发表于:2024-11-28 11:36:21
来自 2#
我的想法是通过actionType去判断,
如果是0的话:走合并监听就设置proxycell = true,走取消合并就设置proxycell = false

如果是1的话,是撤销操作,走合并监听的话,设置proxycell = false,走取消合并就设置proxycell = true
如果是2的话,是重做操作,走合并监听的话,设置proxycell = true,走取消合并就设置proxycell  = false

这样可行吗?
或者是否有什么更好的方法嘛
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-11-28 14:58:37
3#
您好!根据您的描述,了解您需要在撤销合并单元格时更新单元格tag数据。其实,无论哪种合并,监听到的信息中除了命令名称外还有actionType属性,该属性为0时代表执行,为1时代表撤销,如下动图所示:
合并单元格监听.gif


因为Designer.unmergeCells命令对应的是工具栏中的”取消单元格合并“菜单按钮,所以,您通过监听这个命令无法监听到撤销按钮和ctrl+z的动作,您需要在监听事件中同时判断命令名称和actionType属性值来判断是合并还是撤销。

回复 使用道具 举报
祁画
注册会员   /  发表于:2024-11-28 15:18:53
4#
嗯嗯好的感谢,通过actionType和命令监听 已经实现了这个功能。
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-11-28 17:22:31
5#
祁画 发表于 2024-11-28 15:18
嗯嗯好的感谢,通过actionType和命令监听 已经实现了这个功能。

不客气,解决了就好,那就结帖了。如有新问题,欢迎发新帖沟通。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部