78 lines
2.7 KiB
C++
78 lines
2.7 KiB
C++
/*****************************************************************************
|
|
*
|
|
* (C) COPYRIGHT MICROSOFT CORPORATION, 2000
|
|
*
|
|
* TITLE: printopt.h
|
|
*
|
|
* VERSION: 1.0
|
|
*
|
|
* AUTHOR: RickTu
|
|
*
|
|
* DATE: 10/18/00
|
|
*
|
|
* DESCRIPTION: Definition of class which handles dlg proc duties
|
|
* for the print options wizard page
|
|
*
|
|
*****************************************************************************/
|
|
|
|
#ifndef _PRINT_PHOTOS_WIZARD_PRINT_OPTIONS__DLG_PROC_
|
|
#define _PRINT_PHOTOS_WIZARD_PRINT_OPTIONS_DLG_PROC_
|
|
|
|
typedef BOOL (*PF_BPRINTERSETUP)(HWND, UINT, UINT, LPTSTR, UINT*, LPCTSTR);
|
|
const LPTSTR g_szPrintLibraryName = TEXT("printui.dll");
|
|
const LPSTR g_szPrinterSetup = "bPrinterSetup";
|
|
|
|
#define ENUM_MAX_RETRY 5
|
|
|
|
#ifndef DC_MEDIATYPENAMES
|
|
#define DC_MEDIATYPENAMES 34
|
|
#endif
|
|
|
|
#ifndef DC_MEDIATYPES
|
|
#define DC_MEDIATYPES 35
|
|
#endif
|
|
|
|
|
|
class CPrintOptionsPage
|
|
{
|
|
public:
|
|
CPrintOptionsPage( CWizardInfoBlob * pBlob );
|
|
~CPrintOptionsPage();
|
|
|
|
INT_PTR DoHandleMessage( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam );
|
|
VOID MessageQueueCreated();
|
|
CSimpleCriticalSection _csList; // used to syncronize access to printer list information
|
|
|
|
|
|
private:
|
|
CWizardInfoBlob * _pWizInfo;
|
|
HWND _hDlg;
|
|
CSimpleString _strPrinterName; // selected printer name
|
|
CSimpleString _strPortName; // selected printer's port name
|
|
HMODULE _hLibrary; // library handle
|
|
PF_BPRINTERSETUP _pfnPrinterSetup; // function entrance for APW
|
|
|
|
|
|
BOOL _LoadPrintUI(); // Load library
|
|
VOID _FreePrintUI(); // Free Library
|
|
BOOL _ModifyDroppedWidth( HWND ); // modify dropped width if needed
|
|
VOID _ValidateControls(); // validate controls in this page
|
|
VOID _HandleSelectPrinter(); // save new selected printer and refresh media type selection
|
|
VOID _HandleInstallPrinter(); // run add printer wizard
|
|
VOID _HandlePrinterPreferences(); // handle when user presses Printer Preferences
|
|
VOID _UpdateCachedInfo( PDEVMODE pDevMode ); // update global cached copies of printer information
|
|
VOID _ShowCurrentMedia( LPCTSTR pszPrinterName, LPCTSTR pszPortName );
|
|
|
|
// window message handlers
|
|
LRESULT _OnInitDialog();
|
|
LRESULT _OnCommand(WPARAM wParam, LPARAM lParam);
|
|
LRESULT _OnNotify(WPARAM wParam, LPARAM lParam);
|
|
VOID _OnKillActive();
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|