PrinterSettings - Changing, Storing and Loading Printer Settings

Description

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
{
public:
	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
	m_prn_setting1.CopyDefaultMfcPrinter();
	m_prn_setting2.CopyDefaultMfcPrinter();

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

	m_prn_setting1.PrinterSetup(this);

To cause MFC to use your settings call SetThisPrinter().

	// make m_prn_setting1 the MFC standard printer
	m_prn_setting1.SetThisPrinter();

	// 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" ));
		


Downloads

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

History