找回密码
 立即注册

QQ登录

只需一步,快速开始

jxf16888
高级会员   /  发表于:2011-7-22 10:44:00
11#
我以当前光标位置为限,光标位置前不打印,光标后的进行继续打印!

如 总共有10页,我光标点到其中的第3页中下部分,我就要将第3页光标所在位置的上部分的位置计算出来!行高可能不一样的!

通过  this.textControl1.Selection.Text = "\f"; 可以进行强制换页 后我就要在新页面的上面空出和正常页面(第3页光标所在位置的上部分不打印的区域大小)相同大小的位置 !

版本我如何实现以下两个:
1、有办法取到这个精确的大小吗?
2、有办法在新页面上动态增加这个精确的大小的区域?
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-7-22 12:04:00
12#
抛砖引玉,先给出一段代码看一看,实现强制换页并在新也上生成相应的空白区域,需要你建一个Bitmap1.bmp文件,并拷贝到bin目录下:

  1.                 private void btnNewPage_Click(object sender, EventArgs e)
  2.         {
  3.             Graphics g = textControl1.CreateGraphics();
  4.             int DPI = (int)(1440 / g.DpiX);
  5.             TXTextControl.Line topLine = textControl1.Lines[1];
  6.             TXTextControl.Line bottomLine = textControl1.Lines[textControl1.InputPosition.Line];
  7.             this.textControl1.Selection.Text = "\f";

  8.             Rectangle rect = new Rectangle(
  9.                                 ((topLine.TextBounds.X / DPI) ) - (textControl1.ScrollLocation.X / DPI),
  10.                                 (topLine.TextBounds.Top / DPI) - (textControl1.ScrollLocation.Y / DPI),
  11.                                 500,
  12.                                 (bottomLine.TextBounds.Bottom / DPI) - (topLine.TextBounds.Top / DPI));

  13.             textControl1.Images.Clear();
  14.             textControl1.Images.Add(new TXTextControl.Image(new Bitmap(Image.FromFile("Bitmap1.bmp"), 100, rect.Height)), new Point(topLine.TextBounds.X / DPI, topLine.TextBounds.Y / DPI), TXTextControl.ImageInsertionMode.FixedOnPage);
  15.             textControl1.Refresh();
  16.         }
复制代码
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部