# PrintCtrl

int PrintCtrl (int panelHandle, int controlID, char filename[], int scaling, int confirmDialogBox);

## Purpose

Prints the selected control.

While this function is printing, it blocks any other thread in your program that attempts to print.

Remember that LabWindows/CVI maintains only one copy of the print attributes you set with SetPrintAttribute. Thus, when you change a print attribute in one thread, the change affects printing functions you subsequently call in other threads.

## Parameters

Input
Name | Type | Description
panelHandle | integer | Specifier for a particular panel that is currently in memory. You obtain this handle from LoadPanel, NewPanel, or DuplicatePanel.
controlID | integer | The defined constant, located in the .uir header file, that you assigned to the control in the User Interface Editor, or the ID returned by NewCtrl or DuplicateCtrl.
filename | string | Name of the output file. If the name is not empty, the output is redirected to the file. If the name is not a complete pathname, the file is created relative to the current working directory.
scaling | integer | Selects the scaling mode for printing. 1 expands the object to full size. 0 prints the object at the same relative location and size on paper as displayed on the screen.
| Note By default, PrintCtrl uses the following settings: ATTR_PRINT_AREA_WIDTH is set to VAL_INTEGRAL_SCALE. ATTR_PRINT_AREA_HEIGHT is set to VAL_INTEGRAL_SCALE.
| Note If ATTR_PAPER_HEIGHT or ATTR_PAPER_WIDTH is set to VAL_INTEGRAL_SCALE, this parameter is forced to full size.
confirmDialogBox | integer | Displays a dialog box before printing to confirm print attributes. The dialog box shows the current print attribute values and to what extent the current printer supports them. The end-user can change the attribute values during run time.

## Return Value

Name | Type | Description
printStatus | integer | The status of the print operation. The PrintCtrl function returns a value that contains bit-fields.
Defined Constant | Value
VAL_TOO_MANY_COPIES | (1<<0)
VAL_NO_MULTIPLE_COPIES | (1<<1)
VAL_NO_DUPLEX | (1<<2)
VAL_NO_LANDSCAPE | (1<<3)
VAL_CANT_FORCE_MONO | (1<<4)
VAL_NO_SUCH_XRESOLUTION | (1<<5)
VAL_NO_MULTIPLE_XRESOLUTIONS | (1<<6)
VAL_NO_SUCH_YRESOLUTION | (1<<7)
VAL_NO_MULTIPLE_YRESOLUTIONS | (1<<8)
VAL_NO_SEPARATE_YRESOLUTION | (1<<9)
VAL_USER_CANCEL | (1<<10)
A negative value indicates that an error occurred.