找回密码
 立即注册

QQ登录

只需一步,快速开始

[已处理] TextFrame 问题

hr5204562
论坛元老   /  发表于:2013-8-21 09:14:00
11#
回复 10楼dof的帖子

你的意思是TextFrame 只能加载它本身? 我从外部不能传输TextFrame二进制数据吗? 因为从外部是能加载文本的,二进制不行,这个应该是有问题的吧,而且它提供了加载二进制数据的函数
回复 使用道具 举报
hr5204562
论坛元老   /  发表于:2013-8-21 09:23:00
12#
Demo中如果去掉  frame.Selection.Save(out a, TXTextControl.BinaryStreamType.InternalUnicodeFormat);也加载不出来数据啊,我的意思这个从外部加载,并非从他本身去读取


TXTextControl.TextFrame frame = textControl1.TextFrames.GetItem(1000);

            frame.Activate();
            byte[] a = System.Text.Encoding.Default.GetBytes("123456");
            //frame.Selection.Save(out a, TXTextControl.BinaryStreamType.InternalUnicodeFormat);
            frame.Selection.Load(a, TXTextControl.BinaryStreamType.InternalUnicodeFormat);
            //frame.Selection.Load("测试文本", TXTextControl.StringStreamType.PlainText);
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-8-21 16:10:00
13#
请看以下代码:
  1.     private void 加载二进制数据ToolStripMenuItem_Click(object sender, EventArgs e)
  2.     {
  3.         TXTextControl.TextFrame frame = textControl1.TextFrames.GetItem(1000);
  4.         frame.Activate();

  5.         // 读取外部TX文件
  6.         int offset = 0;
  7.         Stream oStream = File.OpenRead("Test1.tx");
  8.         byte[] arrBytes = new byte[oStream.Length];

  9.         while (offset < arrBytes.LongLength)
  10.         {
  11.             offset += oStream.Read(arrBytes, offset, arrBytes.Length - offset);
  12.         }

  13.         // 加载到TX中
  14.         frame.Selection.Load(arrBytes, TXTextControl.BinaryStreamType.InternalUnicodeFormat);
  15.     }
复制代码
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部