|
GEOS SDK TechDocs
|
|
4.1 Alerting the GenApplication
|
4.3 Page Range Information
PCI_attrs, MSG_PRINT_CONTROL_SET_ATTRS, MSG_PRINT_CONTROL_GET_ATTRS
The Print Control includes several attributes which are grouped together into a record of type
PrintControlAttrs
. These represent some choices made when instantiating the Print Control.
-
PCA_MARK_APP_BUSY
-
Describing large print jobs can take a fair amount of time. If this bit is set, the application will reassure the user that it is busy (by showing the busy cursor) while spooling long print jobs.
-
PCA_VERIFY_PRINT
-
If this bit is set, the Print Control will ask the application for confirmation before printing anything. This request will come in the form of a
MSG_PRINT_VERIFY_PRINT_REQUEST
sent to the
PCI_output
object. The Print Control sends this message after the user has finished interacting with the Print dialog box so that the application can make sure that the user has made valid choices.
-
PCA_SHOW_PROGRESS, PCA_PROGRESS_PERCENT, PCA_PROGRESS_PAGE
-
When describing a large print job, it is considerate to let the user know when the application is making some kind of progress. If the first of these bits is set, the Print Control will display a progress dialog box when spooling a print job. The next two bits determine whether progress will be reported as a percentage, number of pages completed, both, or neither. Regardless of whether percents or page number progress is reported, the progress box can display an application-supplied string.
-
PCA_FORCE_ROTATION
-
If this bit is set, the output will automatically be printed rotated on the page. Normally, this bit is not set so the Spooler will make a choice to make the job fit on the minimum number of pages. The Banner program sets this bit to make sure that fanfold paper printers will create continuous banners; if it didn't print sideways, then users would have to use a lot of tape to put their banners together (they have to anyhow, if using non continuous-feed paper).
-
PCA_COPY_CONTROLS
-
This flag determines whether the Print Control will allow the user to request that multiple copies be printed. If your application uses this option, then it is vital that the print control be updated whenever the total page count of the document changes.
-
PCA_PAGE_CONTROLS
-
If this bit is set, the user will be allowed to select specific page ranges to print. Even if it seems like users would have little reason to print short ranges, it's still nice to include this option: if the printer messes up one page, it's usually irritating to have to reprint the whole document.
-
PCA_QUALITY_CONTROLS
-
If this flag is on, the user will be allowed to select which quality to print with. Note that not all printers can print at all qualities, but most support more than one mode.
-
PCA_USES_DIALOG_BOX
-
This bit determines whether the Print Control will display a dialog box containing printing choices for the user. Specialty geodes and GCM applications might want to turn this flag off; it is set by default.
-
PCA_GRAPHICS_MODE, PCA_TEXT_MODE
-
These bits determine whether the Control should support graphic mode and/or text mode output.
-
PCA_DEFAULT_QUALITY
-
These two bits contain the default print quality to use. The enumerated type
PrintQualityEnum
defines the values available:
PQT_HIGH, PQT_MEDIUM, and PQT_LOW.
Those attributes which are on by default are PCA_COPY_CONTROLS, PCA_PAGE_CONTROLS, PCA_QUALITY_CONTROLS, PCA_USES_DIALOG_BOX, PCA_GRAPHICS_OUTPUT, and PCA_TEXT_OUTPUT.
There are messages to get and set these attributes.
MSG_PRINT_CONTROL_SET_ATTRS
void MSG_PRINT_CONTROL_SET_ATTRS(
PrintControlAttrs attributes);
Use this message to change the values stored in the
PCI_attrs
structure. Pass a record of type
PrintControlAttrs
containing the desired values.
Source: Unrestricted.
Destination: Any PrintControl object.
Parameters:
attributes
The new
PrintControlAttrs
.
Return: Nothing.
Interception: Unlikely.
MSG_PRINT_CONTROL_GET_ATTRS
PrintControlAttrs MSG_PRINT_CONTROL_GET_ATTRS();
Use this message to retrieve the values stored in the
PCI_attrs
structure. It will return a record of type
PrintControlAttrs
containing the desired values.
Source: Unrestricted.
Destination: Any PrintControl object.
Parameters: None.
Return: The present print control attributes.
Interception: Unlikely.
|
GEOS SDK TechDocs
|
|
4.1 Alerting the GenApplication
|
4.3 Page Range Information