【问题标题】:How can I print a form that include a RichEdit in Delphi 2007?如何在 Delphi 2007 中打印包含 RichEdit 的表单?
【发布时间】:2014-06-19 12:32:09
【问题描述】:

我目前正在做一个非常简单的项目:当我按下一个按钮时,我当前所处的表单就会被打印出来(就像一个打印屏幕)。

我使用 Self.Print 方法;在上述按钮中,一切正常。我的按钮、标签和文本框都被打印出来了。问题是,我尝试打印的表单中有一个 RichEdit,当页面从打印机中出来时,RichEdit 是空白的。

我知道有更好的方法从表单中打印信息,但这是按钮必须工作的当前方式。

我发现一些论坛的主题从 2003 年开始说要么不可能,要么我必须使用 RichEdit.Print 方法,但这意味着打印机打印出 2 页而不是 1 页。

有没有更好的方法打印整个包裹?

【问题讨论】:

  • 您可以将表单捕获为图形(如 PNG 或位图)并打印出来。
  • RichEdit 的所有内容是否都显示在屏幕上,或者是否有一些必须滚动到视图中?
  • 这取决于应用程序的用户在 RichEdit 中编写的内容,因此可能需要滚动才能看到文本的结尾。
  • 如果是这种情况,那么可靠地做到这一点的唯一方法是使用某种报告工具,如 Fast Reports、Rave 或 Report Builder 来生成您需要的格式化输出。
  • 那你就倒霉了。 Windows 不会绘制不可见的窗口区域;调用 RichEdit.Print 以专门的方式处理屏幕外内容的绘制。您可能正处于需要实际设计报告而不是仅仅尝试打印屏幕的地步。

标签: delphi delphi-2007


【解决方案1】:
RichEdit1.Print(RichEdit1.Text);
PrintDialog1.Execute;//Choose your printer from list

【讨论】:

  • 虽然此代码可能会回答问题,但提供有关此代码为何和/或如何回答问题的额外上下文可提高其长期价值。
猜你喜欢
  • 2015-01-13
  • 2014-05-06
  • 1970-01-01
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-04
  • 1970-01-01
相关资源
最近更新 更多