PrinterSettings – Changing, Storing and Loading Printer Settings


Several years ago I had to implement the ability to change
the printer and it’s settings from within a programm.
The output had to be distributed to 3 or more printers.
The settings had to be stored to disk to be able to be loaded.
It was desired to conform to the MFC Framework.

How to use

Declare the class CPrinterSettings in a CDocument derived class
or wherever you find it useful.

#include “PrinterSettings.h”

class CPrnsetupDlg : public CDialog
CPrinterSettings m_prn_setting1;
CPrinterSettings m_prn_setting2;

To get a copy of the original MFC printer settings
call CopyDefaultMfcPrinter().

// Get MFC’s default printer

To let the user change the settings
e.g. paper orientation or printer resolution
call PrinterSetup( CWnd* pWnd ).


To cause MFC to use your settings call

// make m_prn_setting1 the MFC standard printer

// later you may call RestorePrinter() to
// restore earlier settings.

To load or save your settings call
Save(LPCTSTR filename ) or Load(LPCTSTR filename ).

// Save our settings to file
m_prn_setting1.Save( “testfilename”);

// load settings, store them in m_prn_settings1
m_prn_setting1.Load( “testfilename” ));


Download demo project – 17 Kb

The name of the project is “prnsetup.dsw” (build with VC 6 )

Download source – 5 Kb

The source files are named: PrinterSettings.h and PrinterSettings.cpp


More by Author

Must Read