Silverfrost Logo About Us | Contact Us
 

Customising the printer dialog box

ClearWin+ uses the standard Windows dialog box to interrogate the user, in each of the above approaches. This has the advantage that the style of the box will take on the 'look and feel' of the operating system in use and will be familiar to your users.

Note that by default Windows 2000 and XP use a new Print dialog. The following ClearWin+ function can be called to force the old Print dialog to be used:

INTEGER FUNCTION USE_OLD_PRINT_DIALOG@( SET )
INTEGER SET

Input a value of SET=1 to use the the old dialog. SET=0 restores the default. The function returns the former state of SET.

In order to change the default behaviour of the printer dialog box you can call printer_dialog_options@ in order to specify the information that is to be requested in the printer dialog box when it opened using PRINTER_OPEN etc. or open_printer@ etc. (also you can obtain the values selected by the user with calls to clearwin_info@).

printer_dialog_options@ takes nine integer arguments referred to as A1 to A9. The following table indicates the changes that are possible:

Feature

CLEARWIN_INFO@ parameter for result

Default behaviour

Remarks

Print to file

-

Available, initially not checked

If a printer is selected with this option checked, the user will be prompted for a file name. No programming action is required to support this feature. This box will be hidden if A2 is non-zero, and will be initially checked if A9 is non-zero.

Selection

PRINTER_SELECTION

Available, initially not checked

This is a radio button which is used to indicate that only selected material is to be printed. It is up to you to read the parameter and act on it as required. This box will be greyed out (not hidden) if A3 is non-zero, and will be initially selected if A6 non-zero.

Page numbers

PRINTER_FIRST_PAGE

PRINTER_LAST_PAGE

Available, set to 1,1.

This enables a range of pages to be selected in various ways. The control is disabled if A2 is non-zero. If all pages are selected the range is returned as 1-32767. If A5 is non-zero the range selection option will be initially selected. If A8 is non-zero the all-pages option will be initially selected.

Collate

PRINTER_COLLATE

Available

This control is always available. Some printer drivers support this option explicitly and the program is not informed of the selection because no action is required. If the parameter is set, an appropriate response is required from the program. If A7 is non-zero the collate box is initially checked.

Copies

PRINTER_COPIES

Available

This control is always available. Some printer drivers support this option explicitly and the program is not informed of the selection because no action is required. If the number of copies is greater than 1, the program should reproduce the output.

Default warning

-

Will occur

A warning will be generated if the user has no printer selected as the default. This wil be suppressed if A4 is non-zero.


Also clearwin_info@('PRINTER_PAGENUMBERS') returns 1 if the 'Page Range' is set to 'Pages'.

At most one of A5, A6, A8 should be set non-zero, as they select mutually exclusive options. These defaults work for both built in call-backs and explicit routine calls.

Four other clearwin_info@ parameters are also used to control the initial appearance of the printer dialog box. These parameters are set using set_clearwin_info@. The parameters are:

PRINTER_DEFAULT_MIN_PAGE

PRINTER_DEFAULT_MAX_PAGE

PRINTER_DEFAULT_FROM_PAGE

PRINTER_DEFAULT_TO_PAGE

In some situations it may be necessary to set these parameters in a multiple call-back, for example:

i=winio@('%^bt[Print]','+',set_printer_info,'PRINTER_OPEN',10)

where set_printer_info is a user-defined function that makes appropriate calls to set_clearwin_info@.

 

 

Copyright © 1999-2017 Silverfrost Limited