/******************************************************************************* * * (C) COPYRIGHT MICROSOFT CORPORATION, 1998 * * TITLE: SCANSEL.H * * VERSION: 1.0 * * AUTHOR: ShaunIv * * DATE: 9/28/1999 * * DESCRIPTION: Scanner region selection (preview) page * *******************************************************************************/ #ifndef __SCANSEL_H_INCLUDED #define __SCANSEL_H_INCLUDED #include #include "acqmgrcw.h" #include "createtb.h" #include "pviewids.h" class CScannerSelectionPage { private: // Private data HWND m_hWnd; CAcquisitionManagerControllerWindow *m_pControllerWindow; UINT m_nThreadNotificationMessage; UINT m_nWiaEventMessage; HBITMAP m_hBitmapDefaultPreviewBitmap; SIZE m_sizeFlatbed; SIZE m_sizeDocfeed; bool m_bAllowRegionPreview; HWND m_hwndPreview; HWND m_hwndSelectionToolbar; HWND m_hwndRescan; CWiaPaperSize *m_pPaperSizes; UINT m_nPaperSizeCount; ToolbarHelper::CToolbarBitmapInfo m_ScannerSelectionButtonBarBitmapInfo; CSimpleEvent m_PreviewScanCancelEvent; private: // No implementation CScannerSelectionPage(void); CScannerSelectionPage( const CScannerSelectionPage & ); CScannerSelectionPage &operator=( const CScannerSelectionPage & ); private: // Constructor and destructor explicit CScannerSelectionPage( HWND hWnd ); ~CScannerSelectionPage(void); private: // Helpers CWiaItem *GetActiveScannerItem(void); void InitializeIntents(void); void EnableControls( BOOL bEnable ); bool ApplyCurrentPreviewWindowSettings(void); bool ApplyCurrentIntent(void); void SetIntentCheck( LONG nIntent ); void PopulateDocumentHandling(void); void PopulatePageSize(void); void HandlePaperSourceSelChange(void); void HandlePaperSizeSelChange(void); bool InDocFeedMode(void); void EnableControl( int nControl, BOOL bEnable ); void ShowControl( int nControl, BOOL bShow ); void UpdateControlState(void); bool InPreviewMode(void); private: // Thread messages void OnNotifyScanPreview( UINT nMsg, CThreadNotificationMessage *pThreadNotificationMessage ); LRESULT OnEventNotification( WPARAM, LPARAM ); // WM_COMMAND handlers void OnRescan( WPARAM, LPARAM ); void OnProperties( WPARAM, LPARAM ); void OnPreviewSelection( WPARAM, LPARAM ); void OnPaperSourceSelChange( WPARAM, LPARAM ); void OnPaperSizeSelChange( WPARAM, LPARAM ); // WM_NOTIFY handlers LRESULT OnWizNext( WPARAM, LPARAM ); LRESULT OnWizBack( WPARAM, LPARAM ); LRESULT OnSetActive( WPARAM, LPARAM ); LRESULT OnGetToolTipDispInfo( WPARAM, LPARAM ); LRESULT OnReset( WPARAM, LPARAM ); // Message handlers LRESULT OnInitDialog( WPARAM, LPARAM ); LRESULT OnDestroy( WPARAM, LPARAM ); LRESULT OnCommand( WPARAM, LPARAM ); LRESULT OnNotify( WPARAM, LPARAM ); LRESULT OnThreadNotification( WPARAM, LPARAM ); LRESULT OnSysColorChange( WPARAM, LPARAM ); LRESULT OnThemeChanged( WPARAM, LPARAM ); public: static INT_PTR CALLBACK DialogProc( HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam ); }; #endif __SCANSEL_H_INCLUDED