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
)。这是因为当程序终止时,操作会自动执行。