Futurebasic/语言/打印
修订:2002 年 2 月 (FB^3 版本 6)
您可以将打印页面视为与窗口非常相似的东西。通常,用于在屏幕上产生任何类型显示的命令将在页面上产生类似的印记。唯一的例外是无法发送到打印机端口的控件。
您可以使用 route
命令指示程序切换到打印机。
route _toPrinter rem printing commands here route _toScreen
您可以通过执行 route
命令在打印页面和屏幕之间自由切换。当需要弹出页面或完全终止打印时,您可以使用 clear lprint
清除页面,或使用 close lprint
关闭打印机(这会自动清除页面)。
您可以通过将常规输出发送到打印机,然后执行 window()
函数来查询打印机的页面大小。
route _toPrinter pageWidth = window( _width ) pageHeight = window( _height ) route _toScreen
在打印之前会使用两个对话框。第一个是样式对话框,允许用户确定页面方向、缩放和其他项目。这通常是在用户选择“文件”菜单下的“页面设置”项时弹出的。语法为 def page
。
第二个常见对话框是作业对话框。它允许用户确定要打印的副本数量、要包含的页码以及其他可能因打印机而异的项目。作业对话框通过 def lprint
弹出,通常在每次打印会话之前显示。请注意,打印管理器实际处理作业的详细信息。如果用户希望打印第 7 页到第 10 页的 2 份副本,您的应用程序可能会愉快地打印整个文档的单份副本,而打印管理器会正确过滤输出以符合用户的请求。
当输出正在路由到打印机时,请勿调用 clear lprint
或 close lprint
。这会导致系统崩溃。相反,将输出路由回屏幕,然后清除或关闭。
由于按钮无法发送到打印页面,因此外观管理器编辑字段无法打印。有一个简单的解决方法。在窗口中创建编辑字段,然后使用编辑字段语句(仅将字段号作为参数),它将被复制到打印机。以下示例演示了如何完成此操作。
// Appearance Manager printing window 1 edit field 1, "This is a test", (10,10)-(120,32) // Now print it route _toPrinter edit field 1 route _toScreen
在此示例中,我们没有清除或关闭打印机 (clear lprint
或 close lprint
)。这是因为当程序终止时会自动执行此操作。