The Spool Library: 4.3 Print Control Instance Data: Page Range Information

Up: GEOS SDK TechDocs | Up | Prev: 4.2 Attributes | Next: 4.4 Document Size
PCI_startPage, PCI_endPage, PCI_startUserPage, PCI_endUserPage, MSG_PRINT_CONTROL_SET_TOTAL_PAGE_RANGE, MSG_PRINT_CONTROL_GET_TOTAL_PAGE_RANGE, MSG_PRINT_CONTROL_SET_SELECTED_PAGE_RANGE, MSG_PRINT_CONTROL_GET_SELECTED_PAGE_RANGE

The PCI_startPage and PCI_endPage fields should contain the page numbers of the first and last pages possible to print, known as the total page range. The PCI_startUserPage and PCI_endUserPage contain the beginning and ending page numbers of the range the user wants to print, often called the user page range.

For documents whose page length may change (such as word processor documents), the page ranges should be updated whenever the Print dialog box goes up, at which time the application will be receiving a MSG_PRINT_NOTIFY_PRINT_DB . Normally, the user page range will start out being the same as the total page range. For most documents the first page of the total page range is page one, but applications which will include cover sheets might want the cover sheet to be page zero.

MSG_PRINT_CONTROL_SET_TOTAL_PAGE_RANGE

void	MSG_PRINT_CONTROL_SET_TOTAL_PAGE_RANGE(
        int 	firstPage,
        int	lastPage);

The application should send this message to set the first and last page numbers of the document. You might want to send this message every time the document length changes or just every time the Print dialog box is put up. The Print Control warns the PCI_output object of the occurrence of the latter event with a MSG_PRINT_NOTIFY_PRINT_DB .

Source: Unrestricted.

Destination: Any PrintControl object.

Parameters: firstPage The page number of the document's first page.

lastPage
The page number of the document's last page.

Return: Nothing.

Interception: Unlikely.

MSG_PRINT_CONTROL_GET_TOTAL_PAGE_RANGE

dword	MSG_PRINT_CONTROL_GET_TOTAL_PAGE_RANGE();

This message returns two integers. These integers are the numbers of the first and last pages of the range of possible pages. These values aren't necessarily the first and last pages of the range the user wants to print. Use MSG_PRINT_CONTROL_GET_SELECTED_PAGE_RANGE for that information.

Source: Unrestricted.

Destination: Any PrintControl object.

Parameters: None.

Return: A double word. The high word is the first page; the low word is the last page.

Interception: Unlikely.

MSG_PRINT_CONTROL_SET_SELECTED_PAGE_RANGE

void	MSG_PRINT_CONTROL_SET_SELECTED_PAGE_RANGE(
        int 	firstPage,
        int	lastPage);

This message takes the passed values and uses them as the first and last pages that the user wants to print.

Source: Unrestricted.

Destination: Any PrintControl object.

Parameters: firstPage The page number of the first page to print.

lastPage
The page number of the last page to print.

Return: Nothing.

Interception: Unlikely.

MSG_PRINT_CONTROL_GET_SELECTED_PAGE_RANGE

dword	MSG_PRINT_CONTROL_GET_SELECTED_PAGE_RANGE();

This message returns the user's selected range of pages to print.

Source: Unrestricted.

Destination: Any PrintControl object.

Parameters: None.

Return: A double word. The high word is the first page which the user wishes to print; the low word is the last page of this range.

Interception: Unlikely.


Up: GEOS SDK TechDocs | Up | Prev: 4.2 Attributes | Next: 4.4 Document Size