找回密码
 立即注册

QQ登录

只需一步,快速开始

mylj123

注册会员

13

主题

36

帖子

111

积分

注册会员

积分
111

活字格认证

mylj123
注册会员   /  发表于:2015-7-21 21:24  /   查看:6560  /  回复:7
我用的版本:TX ACTIVEX 19
1、判断文档是否修改。我是加载完文档后通过rtfseltext保存在一个变量中,点击保存的时候再rftseltext到另一个变量,比较两个变量值是否相同来判断是否文档修改了。现在发现如果文档有页脚(里面显示第N页),加载完时是没有显示页脚的,如果我不做任何修改。将垂直滚动条拖到最后,显示出页脚,两个变量的值就不一样了。有什么办法判断文档是否修改?
2、field设置不能修改,中文输入法下仍可修改。FieldEditAttr将field设置为不可修改。在中文输入法下仍可以修改field。

7 个回复

倒序浏览
mylj123
注册会员   /  发表于:2015-7-22 08:52:00
沙发
第一个问题比较了下两个rtf变量的值,发现是页脚上页号的问题。页脚上显示页号用的是field,fieldtype设置为3。我加载完文档当时页脚是没有显示出来,如果拖动滚动条页脚显示出来,前后两次rtf变量的值就变了。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-7-22 13:40:00
板凳
回复 2楼mylj123的帖子

问题一,这个属性不是用于标记文档是否更改的,能否考虑通过 TXTextControl.Change 事件去判断,把值记录在 TextField 中?
问题二,请问您使用的是什么输入法?TX ActiveX 控件没有在中文输入法下做过测试。
回复 使用道具 举报
mylj123
注册会员   /  发表于:2015-7-22 14:45:00
地板
回复 3楼iceman的帖子

1、我是希望能判断到文档内容是否修改,如果用change事件,用户修改后再马上改回修改前的状态,即内容没发生变化,那怎么判断。
2、field不可编辑状态下,输入光标停留在field里,只要是打开中文输入法(百度、搜狗、极点等等),都可以修改field。只有在切换到英文输入法才不能编辑
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-7-22 17:50:00
5#
回复 4楼mylj123的帖子

问题一,我们在和厂商沟通看是否有方法解决。
问题二,TX ActiveX平台没有在中文输入法下测试过,因此无法保证能够正常使用,我们会把这个问题反馈给厂商。看能否在后续版本中修正。不过,即使是修正也仅会支持微软或google中文输入法。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-7-24 09:47:00
6#
回复 4楼mylj123的帖子

厂商表示目前没有相关接口标识是否文档是否改变,请问您当前通过 rtfseltext 是如何实现的?保存全部文档内容到这个属性吗?

能否考虑维护一个 xml文件通过change事件获取修改的文本和位置,进行记录。文件结束时在通过查阅XML文件进行对比来实现?
回复 使用道具 举报
mylj123
注册会员   /  发表于:2015-7-25 22:15:00
7#
回复 6楼iceman的帖子

我是用的PB,文档加载完后。全选文档,然后用rtfseltext,将内容保存到一个字符串变量里,然后再用户执行保存前再做一次保存到另外一个字符串变量,比较两个字符串变量是否一致,一致就认为是没有修改,不一致就执行数据库的保存提交。。。如果只是保存文本和位置,比如用户调整了字体大小、上下标之类的就不好表示了。这两个问题我暂时找到了替代方法来解决,可以关闭了。谢谢斑竹的答复。。

评分

参与人数 1金币 +300 收起 理由
iceman + 300 提供问题解决思路

查看全部评分

回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-7-27 10:44:00
8#
回复 7楼mylj123的帖子

恩,楼主想的很全面,。请问样式目前的解决方法是什么?能否和大家共享一下?

为了感谢您提供问题解决思路,给您分发 300 金币。可以用于兑换论坛奖品。
金币规则:点击进入
礼品列表:点击进入

谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部