查看源代码 wxPrintPreview (wx v2.4.3)
此类的对象管理打印预览过程。
该对象被传递一个 wxPrintout
对象,而 wxPrintPreview
对象本身则被传递给一个 wxPreviewFrame
对象。通过初始化并显示预览框架来启动预览。与 wxPrinter:print/4
不同,控制流在框架显示后立即返回到应用程序。
注意:显示的预览仅在 Windows 上完全准确。在其他平台上,用于预览的 wxDC
与用于打印的 wxDC
不同,并且结果可能会有显著差异,具体取决于输出的创建方式。特别是,严重依赖 wxDC:getTextExtent/3
的打印代码(例如,wxHtmlEasyPrinting
和其他 wxHTML 类)会受到影响。建议在提供本机预览功能的平台上(macOS、GTK+)使用本机预览功能。
参见
wxWidgets 文档:wxPrintPreview
概要
函数
销毁对象
获取用于显示打印预览图像的预览窗口。
获取当前正在预览的页面。
获取用于显示打印预览画布和控制栏的框架。
返回最大页码。
返回最小页码。
获取与 wxPrintPreview
对象关联的预览打印输出对象。
获取用于从预览界面内部进行打印的打印输出对象,如果不存在,则返回 NULL。
如果 wxPrintPreview
有效,则返回 true,否则返回 false。
构造函数。
这会使用预览图像刷新预览窗口。
使用 wxPrintPreview
构造函数中提供的第二个 wxPrintout
对象调用打印过程。
将页面渲染到 wxMemoryDC
中。
设置用于显示打印预览图像的窗口。
设置要预览的当前页面。
设置用于显示打印预览画布和控制栏的框架。
将打印输出对象与 wxPrintPreview
对象关联。
设置百分比预览缩放,并相应地刷新预览画布。
类型
-type wxPrintPreview() :: wx:wx_object().
函数
-spec destroy(This :: wxPrintPreview()) -> ok.
销毁对象
-spec getCanvas(This) -> wxPreviewCanvas:wxPreviewCanvas() when This :: wxPrintPreview().
获取用于显示打印预览图像的预览窗口。
-spec getCurrentPage(This) -> integer() when This :: wxPrintPreview().
获取当前正在预览的页面。
-spec getFrame(This) -> wxFrame:wxFrame() when This :: wxPrintPreview().
获取用于显示打印预览画布和控制栏的框架。
-spec getMaxPage(This) -> integer() when This :: wxPrintPreview().
返回最大页码。
-spec getMinPage(This) -> integer() when This :: wxPrintPreview().
返回最小页码。
-spec getPrintout(This) -> wxPrintout:wxPrintout() when This :: wxPrintPreview().
获取与 wxPrintPreview
对象关联的预览打印输出对象。
-spec getPrintoutForPrinting(This) -> wxPrintout:wxPrintout() when This :: wxPrintPreview().
获取用于从预览界面内部进行打印的打印输出对象,如果不存在,则返回 NULL。
-spec isOk(This) -> boolean() when This :: wxPrintPreview().
如果 wxPrintPreview
有效,则返回 true,否则返回 false。
如果初始化打印机设备上下文时出现问题(例如,未设置当前打印机),则可能返回 false。
-spec new(Printout) -> wxPrintPreview() when Printout :: wxPrintout:wxPrintout().
等同于 new(Printout, [])
。
-spec new(Printout, [Option]) -> wxPrintPreview() when Printout :: wxPrintout:wxPrintout(), Option :: {printoutForPrinting, wxPrintout:wxPrintout()} | {data, wxPrintDialogData:wxPrintDialogData()}.
构造函数。
传递一个打印输出对象,一个用于实际打印的可选打印输出对象,以及一个可选的打印机数据块的地址,该地址将复制到打印预览对象的打印数据中。
如果 printoutForPrinting
为非 NULL,则会在预览框架上放置一个 "Print..."
按钮,以便用户可以直接从预览界面进行打印。
备注:一旦调用此构造函数,请不要显式删除打印输出对象,因为它们将在 wxPrintPreview
析构函数中被删除。这不适用于 data
参数。
使用 isOk/1
来检查是否正确创建了 wxPrintPreview
对象。
-spec new(Printout, PrintoutForPrinting, Data) -> wxPrintPreview() when Printout :: wxPrintout:wxPrintout(), PrintoutForPrinting :: wxPrintout:wxPrintout(), Data :: wxPrintData:wxPrintData().
-spec paintPage(This, Canvas, Dc) -> boolean() when This :: wxPrintPreview(), Canvas :: wxPreviewCanvas:wxPreviewCanvas(), Dc :: wxDC:wxDC().
这会使用预览图像刷新预览窗口。
必须从预览窗口的 OnPaint 成员中调用它。
该实现只是将预览位图 Blit 到画布上,如果不存在则创建一个新的预览位图。
-spec print(This, Prompt) -> boolean() when This :: wxPrintPreview(), Prompt :: boolean().
使用 wxPrintPreview
构造函数中提供的第二个 wxPrintout
对象调用打印过程。
通常会由预览框架控制栏上的 Print
... 面板项调用。
如果出现错误,则返回 false - 调用 wxPrinter:getLastError/0
以获取有关错误类型的详细信息。
-spec renderPage(This, PageNum) -> boolean() when This :: wxPrintPreview(), PageNum :: integer().
将页面渲染到 wxMemoryDC
中。
由 wxPrintPreview
在内部使用。
-spec setCanvas(This, Window) -> ok when This :: wxPrintPreview(), Window :: wxPreviewCanvas:wxPreviewCanvas().
设置用于显示打印预览图像的窗口。
-spec setCurrentPage(This, PageNum) -> boolean() when This :: wxPrintPreview(), PageNum :: integer().
设置要预览的当前页面。
-spec setFrame(This, Frame) -> ok when This :: wxPrintPreview(), Frame :: wxFrame:wxFrame().
设置用于显示打印预览画布和控制栏的框架。
-spec setPrintout(This, Printout) -> ok when This :: wxPrintPreview(), Printout :: wxPrintout:wxPrintout().
将打印输出对象与 wxPrintPreview
对象关联。
-spec setZoom(This, Percent) -> ok when This :: wxPrintPreview(), Percent :: integer().
设置百分比预览缩放,并相应地刷新预览画布。