


## Classes

| Class | Description |
| --- | --- |
| [Margins](./margins/) | Represents margins of a printed page. Objects of this class should only be allocated using [System::MakeObject()](../system/makeobject/) function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into [System::SmartPtr](../system/smartptr/) pointer and use this pointer to pass it to functions as argument. |
| [PageSettings](./pagesettings/) | Represents settings of a printed page. Objects of this class should only be allocated using [System::MakeObject()](../system/makeobject/) function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into [System::SmartPtr](../system/smartptr/) pointer and use this pointer to pass it to functions as argument. |
| [PaperSize](./papersize/) | Specifies the size of a piece of paper. |
| [PrintController](./printcontroller/) | Controls how a document is printed, when printing from a [Windows](../system.windows/) Forms application. Objects of this class should only be allocated using [System::MakeObject()](../system/makeobject/) function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into [System::SmartPtr](../system/smartptr/) pointer and use this pointer to pass it to functions as argument. |
| [PrintDocument](./printdocument/) | Sends output to a printer, when printing from a [Windows](../system.windows/) Forms application. Objects of this class should only be allocated using [System::MakeObject()](../system/makeobject/) function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into [System::SmartPtr](../system/smartptr/) pointer and use this pointer to pass it to functions as argument. |
| [PrinterResolution](./printerresolution/) | Represents a resolution of a printer. Objects of this class should only be allocated using [System::MakeObject()](../system/makeobject/) function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into [System::SmartPtr](../system/smartptr/) pointer and use this pointer to pass it to functions as argument. |
| [PrinterSettings](./printersettings/) | Represents settings of a printer. Objects of this class should only be allocated using [System::MakeObject()](../system/makeobject/) function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into [System::SmartPtr](../system/smartptr/) pointer and use this pointer to pass it to functions as argument. |
| [PrintEventArgs](./printeventargs/) | Provides data for the BeginPrint and EndPrint events. Objects of this class should only be allocated using [System::MakeObject()](../system/makeobject/) function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into [System::SmartPtr](../system/smartptr/) pointer and use this pointer to pass it to functions as argument. |
| [PrintPageEventArgs](./printpageeventargs/) | Provides data for PrintPage event. Objects of this class should only be allocated using [System::MakeObject()](../system/makeobject/) function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into [System::SmartPtr](../system/smartptr/) pointer and use this pointer to pass it to functions as argument. |
| [QueryPageSettingsEventArgs](./querypagesettingseventargs/) | Provides data for the QueryPageSettings event. Objects of this class should only be allocated using [System::MakeObject()](../system/makeobject/) function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into [System::SmartPtr](../system/smartptr/) pointer and use this pointer to pass it to functions as argument. |
| [StandardPrintController](./standardprintcontroller/) | Specifies a print controller that sends information to a printer. Objects of this class should only be allocated using [System::MakeObject()](../system/makeobject/) function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into [System::SmartPtr](../system/smartptr/) pointer and use this pointer to pass it to functions as argument. |
## Enums

| Enum | Description |
| --- | --- |
| [PaperKind](./paperkind/) | Specifies the standard paper sizes. |
| [PrintAction](./printaction/) | Specifies a type of print operation. |
| [PrintRange](./printrange/) | Specifies what pages are printed. |
## Typedefs

| Typedef | Description |
| --- | --- |
| [PrintEventHandler](./printeventhandler/) | A type of a function object that handles BeginPrint and EndPrint events. |
| [PrintPageEventHandler](./printpageeventhandler/) | A type of a function that handles PrintPage event. |
