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

More by Author

Must Read