Print

Sends data to the current printer (or spooler, if the user has a spooler set up). There are two syntaxes that you can use with DataWindows:

To

Use

Send the contents of a DataWindow control or DataStore to the printer as a print job.

Syntax 1

Include a visual object, such as a window or a graph control, in a print job. For the PowerBuilder environment only.

For a description of PowerBuilder system print commands, see PowerScript Reference.

Syntax 2


Syntax 1 For printing a single DataWindow or DataStore

Description

Sends the contents of a DataWindow control or DataStore object to the printer as a print job.

Applies to

DataWindow type

Method applies to

PowerBuilder

DataWindow control, DataWindowChild object, DataStore object


Syntax

PowerBuilder

integer dwcontrol.Print ( { boolean canceldialog {, showprintdialog } } )

Argument

Description

dwcontrol

The name of the DataWindow control, DataStore, or child DataWindow that contains the information to be printed.

canceldialog (optional)

A boolean value indicating whether you want to display a nonmodal dialog that allows the user to cancel printing. Values are:

  • True -- (Default) Display the dialog.

  • false -- Do not display the dialog.

Working with DataStore objects

When working with DataStores, the canceldialog argument must always be set to false.

showprintdialog (optional)

A boolean value indicating whether you want to display the system Print dialog box. Values are:

True -- Display the dialog box

false -- (default) Do not display the dialog box

Working with DataStore objects

When working with DataStores, the showprintdialog argument must always be set to false.


Return value

Returns 1 if it succeeds and -1 if an error occurs. If any argument's value is null, Print returns null.

Usage

Printed output uses the same fonts and layout that appear on screen for the DataWindow object.

When the DataWindow object's presentation style is RichTextEdit, each row begins a new page in the printed output.

PowerBuilder environment

PowerBuilder manages print jobs by opening the job, sending data, and closing the job. When you use Syntax 1, print job management happens automatically. You do not need to use the PrintOpen and PrintClose functions.

Use Syntax 1 to print the contents of a DataWindow object. The Print method prints all the rows that have been retrieved. To print several DataWindows as a single job, do not use Print. Instead, open the print job with PrintOpen, call the PowerScript system function PrintDataWindow for each DataWindow, and close the job.

Events for DataWindow printing

When you use Print for DataWindow controls or DataStores, it triggers a PrintStart event just before any data is sent to the printer (or spooler), a PrintPage event for each page break, and a PrintEnd event when printing is complete.

The PrintPage event has return codes that let you control whether the page about to be formatted is printed. You can skip the upcoming page by returning a value of 1 in the PrintPage event.

Examples

The following statements are equivalent. Each sends the contents of dw_employee to the current printer. The Cancel dialog box displays, allowing the user to cancel the printing, but the Print dialog box does not:

dw_employee.Print()
dw_employee.Print(true)
dw_employee.Print(true, false)

This statement sends the contents of dw_employee to the current printer. The Print dialog box displays but the Cancel dialog box does not:

dw_employee.Print(false, true)

See also

PrintDataWindow in the section called “PrintDataWindow” in PowerScript Reference

Syntax 2 For printing a visual object in a print job

Description

Includes a visual object, such as a window or a graph control, in a print job that you have started with the PrintOpen function.

Applies to

DataWindow type

Method applies to

PowerBuilder

DataWindow control


Syntax

PowerBuilder

integer objectname.Print ( long printjobnumber, integer x, integer y {, integer width, integer height } ) 

Argument

Description

objectname

The name of the object that you want to print. The object must either be a window or an object whose ancestor type is DragObject, which includes all the controls that you can place in a window.

printjobnumber

The number the PrintOpen function assigns to the print job

x

An integer whose value is the x coordinate on the page of the left corner of the object, in thousandths of an inch.

y

An integer whose value is the y coordinate on the page of the left corner of the object, in thousandths of an inch.

width

(optional)

An integer specifying the printed width of the object in thousandths of an inch. If omitted, PowerBuilder uses the object's original width.

height

(optional)

An integer specifying the printed height of the object in thousandths of an inch. If omitted, PowerBuilder uses the object's original height.


Return value

Returns 1 if it succeeds and -1 if an error occurs. If any argument's value is null, Print returns null.

Usage

PowerBuilder manages print jobs by opening the job, sending data, and closing the job. When you use Syntax 2, you must call the PrintOpen function and the PrintClose or PrintCancel functions yourself to manage the process. For more information, see PowerScript Reference.

Print area and margins

The print area is the physical page size minus any margins in the printer itself. Depending on the printer, you may be able to change margins using PrintSend and printer-defined escape sequences.

Examples

This example prints the CommandButton cb_close in its original size at location 500, 1000:

long Job
Job = PrintOpen( )
cb_close.Print(Job, 500,1000)
PrintClose(Job)

This example opens a print job, which defines a new page, then prints a title using the third syntax of Print. Then it uses this syntax of Print to print a graph on the first page and a window on the second page:

long Job
Job = PrintOpen( )
Print(Job, "Report of Year-to-Date Sales")
gr_sales1.Print(Job, 1000,PrintY(Job)+500, &
      6000,4500)
PrintPage(Job)
w_sales.Print(Job, 1000,500, 6000, 4500)
PrintClose(Job)

See also

Print in the section called “Print” in PowerScript Reference

PrintCancel

PrintClose in the section called “PrintClose” in PowerScript Reference

PrintOpen in the section called “PrintOpen” in PowerScript Reference

PrintScreen in the section called “PrintScreen” in PowerScript Reference