guojuanbo 发表于 2015-1-25 17:39:00

_dtx4oleevents事件

哦,再问一下如何使用你们提供的_dtx4oleevents事件

iceman 发表于 2015-1-26 17:41:00

回复 1楼guojuanbo的帖子

不好意思,在 TX WinForms 平台和 ActiveX 平台都没有查找到对应接口信息,请问你是怎么查找到这个接口的?或者当前希望实现什么功能?

guojuanbo 发表于 2015-1-27 15:26:00

在你们安装目录下就有这个,很容易找,我想通过这个重写你们定义好的事件,再问一下,我在将两个word合成到一个word的时候,发现生成的序号会自动增加,不知如何控制它不自动递增,
比如第一个word内容是
a) 我是菜鸟;
b) 是的,你是菜鸟;

第二个word是
a) 你是大神;
b) 是的。

合成后的word变成了这样:
a) 我是菜鸟;
b) 是的,你是菜鸟;
c) 你是大神;
d) 是的。

而我想要的是
a) 我是菜鸟;
b) 是的,你是菜鸟;
a) 你是大神;
b) 是的。

Alice 发表于 2015-1-27 17:00:00

回复 3楼guojuanbo的帖子

1._dtx4oleevents还是没有找到。你能提供具体的路径么?
2.我是按照如下步骤合并的,没有出现序号递增的情况。
第一步:打开Tx TextControl word。
第二步:输入第一个文档的内容,并通过保存按钮,保存成textControl format(.tx)格式。
第三步:输入第二个文档的内容,并通过保存按钮,保存成textControl format(.tx)格式。
第四步:新建Tx TextControl word,并选择Insert->File,插入第一个文档。
第五步:将光标移到下一行,继续选择Insert->File,插入第二个文档。
这个时候显示的内容就是直接合并的,和你想要的一致,并没有产生递增。

guojuanbo 发表于 2015-1-28 16:06:00

回复

首先谢谢你

我用C++引入你们提供的ocx后会生成tx4ole20.tlh文件,具体内容如下:



_COM_SMARTPTR_TYPEDEF(_DTX4OLE, __uuidof(_DTX4OLE));
_COM_SMARTPTR_TYPEDEF(_DTX4OLEEvents, __uuidof(_DTX4OLEEvents));
_COM_SMARTPTR_TYPEDEF(IStyle, __uuidof(IStyle));
_COM_SMARTPTR_TYPEDEF(IStyles, __uuidof(IStyles));
_COM_SMARTPTR_TYPEDEF(IXMLElement, __uuidof(IXMLElement));
_COM_SMARTPTR_TYPEDEF(IXMLElements, __uuidof(IXMLElements));
_COM_SMARTPTR_TYPEDEF(ILicManager, __uuidof(ILicManager));
_COM_SMARTPTR_TYPEDEF(_DTXBBAR, __uuidof(_DTXBBAR));
_COM_SMARTPTR_TYPEDEF(_DTXBBAREvents, __uuidof(_DTXBBAREvents));
_COM_SMARTPTR_TYPEDEF(_DTXRULER, __uuidof(_DTXRULER));
_COM_SMARTPTR_TYPEDEF(_DTXRULEREvents, __uuidof(_DTXRULEREvents));
_COM_SMARTPTR_TYPEDEF(_DTXSBAR, __uuidof(_DTXSBAR));
_COM_SMARTPTR_TYPEDEF(_DTXSBAREvents, __uuidof(_DTXSBAREvents));

guojuanbo 发表于 2015-1-28 16:17:00

请求回复

再问一下,我从电脑上“ctrl+c” 一张JPG图片,粘贴到控件的编辑区域,发现只粘贴了一个链接图标,而不能生成预览,请见附图。

Alice 发表于 2015-1-28 18:16:00

回复 6楼guojuanbo的帖子

TextControl下有一个ImageSaveMode 属性,可以决定图片的存储模式。
默认情况下,图片在TextControl是以引用的方式存在的。你可以通过更改这个改变它的存在方式。
具体参考:http://www.textcontrol.com/en_US/support/documentation/activex/o_txtextcontrol.imagesavemode.htm

这个问题可以通过先保存tx文件,改变图片的模式,然后再加载进来。
//演示代码:由于你的环境比较特殊,我们并未c++下进行测试该代码,这个展示的是基本思路。
Dim temp As Byte() = Nothing
      Dim saveSettings As New TXTextControl.SaveSettings()
      saveSettings.ImageSaveMode = TXTextControl.ImageSaveMode.SaveAsData
      TextControl1.Save(temp, TXTextControl.BinaryStreamType.InternalUnicodeFormat, saveSettings)
      TextControl1.Load(temp, TXTextControl.BinaryStreamType.InternalUnicodeFormat)
这种做法比较耗费性能,但目前只想到这一种解决方法。

Alice 发表于 2015-1-28 18:17:00

回复 5楼guojuanbo的帖子

这个问题已经收到。
但由于我们没有c++的环境,所以需要验证下才能给你回复。

guojuanbo 发表于 2015-1-29 09:14:00

确实不是很好的办法,而且很费性能,麻烦帮我试下C++环境,非常感谢。

iceman 发表于 2015-1-29 10:48:00

回复 9楼guojuanbo的帖子

总结本帖中有三个问题:
1.dtx4oleevents 事件使用方法。
2.合并序列号自动增加问题。
3.复制图片问题。

问题1,事件使用方法,我们会咨询厂商,预计1~2个工作日给您进一步反馈。
问题2,能否把测试的文档发上来我们测试下?
问题3,目前没有更好的方法,实现代码请参考 7#,我们没有 C++ 测试环境,还请自主测试。

谢谢
页: [1] 2
查看完整版本: _dtx4oleevents事件