450289068 发表于 2013-11-12 09:40:00

在模版生成器中制作的模版,怎么获取textframe和image

我使用tx模版生成器,制作了个模版,应用了textframe,在textframe中套了个image 整个页面包含手动添加进去3个 textframe和分别有3个Image。然后我使用代码去获取。请问如何获取每个textframe和每个image 除了foreach外 ,还能有其他办法获取吗 ??

我使用 textControl1.TextFrames 出错,而用textControl1.TextFrames.GetItem(0);返回是null 但是textControl1.TextFrames.count 可以获取为3

求在没有动态设定id和name的情况下 如何获取每个特定的控件。

ZenosZeng 发表于 2013-11-12 11:06:00

450289068

TX 中的绝大多数集合对象都无法通过数组下标进行访问,而需要通过id或者name进行访问,如果该对象没有id也没有name,只能通过 foreach 进行访问。

450289068 发表于 2013-11-12 11:20:00

有没有填充的概念,比如我在模版设定了一个textframe,然后在其中放入了一个Image,想让image填充满textframe,自动对图片进行计算了缩放。。如果无这个功能,那怎么做可以达到这样的效果。

ZenosZeng 发表于 2013-11-12 15:32:00

450289068

请参考这篇博客中接受的方法,以实现图片的大小自适应功能:http://blog.gcpowertools.com.cn/post/2013/11/12/TX_Text_Control_Image_AutoSize.aspx

    private void InsertImage()
    {
      // 完成TX中使用的度量单位缇(Twip)与.NET使用的度量单位像素(Pixel)的转换
      Graphics g = textControl1.CreateGraphics();
      int iTwipsPerPixel = (int)(1440 / g.DpiX);

      OpenFileDialog dlgOpen = new OpenFileDialog();

      if (dlgOpen.ShowDialog() == System.Windows.Forms.DialogResult.OK)
      {
            // 加载图片
            Image tmp = Image.FromFile(dlgOpen.FileName);

            // 获取图片父容器TextFrame
            TXTextControl.TextFrame frame = textControl1.TextParts.GetMainText().TextFrames.GetItem(1000);

            // 创建TX中的图片对象
            TXTextControl.Image image = new TXTextControl.Image(tmp);

            // 设置图片ID
            image.ID = 1001;

            //设置横向和纵向缩放比例属性,注意TextFrame中可用的空间范围应该减去Margin区域
            image.HorizontalScaling = ((frame.Size.Width - frame.InternalMargins - frame.InternalMargins) * 100) / (tmp.Width * iTwipsPerPixel);
            image.VerticalScaling = ((frame.Size.Height - frame.InternalMargins - frame.InternalMargins) * 100) / (tmp.Height * iTwipsPerPixel);

            // 将图片插入到TextFrame中
            textControl1.Images.Add(image, textControl1.InputPosition.TextPosition);
      }
    }

450289068 发表于 2013-11-12 16:27:00

多谢 版主提供思路解决了

ZenosZeng 发表于 2013-11-12 16:48:00

:mj72:
页: [1]
查看完整版本: 在模版生成器中制作的模版,怎么获取textframe和image