106 lines
3.5 KiB
C++
106 lines
3.5 KiB
C++
/*******************************************************************************
|
|
*
|
|
* (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 <windows.h>
|
|
#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
|