#pragma once #include "BasicSetting.h" #include "BrightSetting.h" #include "ImageProcess.h" #include "FeederPaper.h" #include "MFC_UI.h" #include "SaveConfigDlg.h" #include "JsonConfig.h" #include // TwainUIDlg 对话框 //class MFC_UI; /*帮助文档存储路径*/ #define DOCHELPPATH "C:/Windows/twain_32/HuagaoT/HuaGoScan TWAIN_Cs.chm" /*配置文件默认索引号*/ #define DEFAULTCONGFIGINDEX 1 #define RESOLUTIONCOUNT 5 #define RESOLUTION 100,150,200,240,300 #define TOTALPAPARTYPE 18 #define PAPARTYPE 11,1,60,5,61,13,62,6,2,70,7,71,3,80,81,4,0,91 #define MAXCOUNT 0xFFFF #define TWSS_A3 11 #define TWSS_A4 1 #define TWSS_A4R 60 #define TWSS_A5 5 #define TWSS_A5R 61 #define TWSS_A6 13 #define TWSS_A6R 62 #define TWSS_B4 6 #define TWSS_B5 2 #define TWSS_B5R 70 #define TWSS_B6R 71 #define TWSS_USLETTER 3 #define LETTERR 80 #define DOUBLELETTER 81 #define TWSS_USLEGAL 4 #define TWSS_AUTOCROP 90 #define TWSS_LONGDOCMENT 91 #ifdef G200 static std::map papersizelist{ {0,TWSS_A3},{1,TWSS_A4},{2,TWSS_A4R},{3,TWSS_A5} ,{4,TWSS_A5R} ,{5,TWSS_A6} ,{6,TWSS_A6R},{7,TWSS_B4} ,{8,TWSS_B5} ,{9,TWSS_B5R} ,{10,TWSS_B6} ,{11,TWSS_B6R} ,{12,TWSS_USLETTER} ,{13,LETTERR} ,{14,DOUBLELETTER} ,{15,TWSS_USLEGAL},{16,TWSS_AUTOCROP} ,{17,TWSS_LONGDOCMENT}}; #elif defined G300 static std::map papersizelist{{0,TWSS_A4},{1,TWSS_A5} ,{2,TWSS_A6} ,{3,TWSS_B5},{4,TWSS_B6} ,{5,TWSS_USLETTER} ,{6,TWSS_USLEGAL},{7,TWSS_AUTOCROP} }; #elif defined G400 static std::map papersizelist{ {0,TWSS_A3},{1,TWSS_A4},{2,TWSS_A4R},{3,TWSS_A5} ,{4,TWSS_A5R} ,{5,TWSS_A6} ,{6,TWSS_A6R},{7,TWSS_B4} ,{8,TWSS_B5} ,{9,TWSS_B5R} ,{10,TWSS_B6} ,{11,TWSS_B6R} ,{12,TWSS_USLETTER} ,{13,LETTERR} ,{14,DOUBLELETTER} ,{15,TWSS_USLEGAL},{16,TWSS_AUTOCROP} }; #endif // G200 struct tagSCANCONFIGPARAM { UINT32 ColorModal; UINT32 PaperSize; FLOAT Resoulation; UINT32 DuplexType; BOOL IsDoubleFeeded; BOOL IsBingdingDetectable; BOOL SkrewDetectable; BOOL Is10BitTure; BOOL Is11BitTure; BOOL Is12BitTure; }; typedef tagSCANCONFIGPARAM SCANCONFIGPARAM, PSCANCONFIGPARAM; struct tagIMAGEPROCESSPARAMS { UINT32 PaperSize; BOOL IsDiscardBlankPage; BOOL IsFlodPages; INT Brightness; INT Contrast; INT Gamma; INT Filter; BOOL IsFillBlack; BOOL IsAutoCrop; INT ScanCount; INT Orentation; BOOL IsBackImageFlip180; }; typedef tagIMAGEPROCESSPARAMS IMAGEPROCESSPARAMS, PIMAGEPROCESSPARAMS; class TwainUIDlg : public CDialog { DECLARE_DYNAMIC(TwainUIDlg) public: TwainUIDlg(MFC_UI* pUI, CWnd* pParent = nullptr); // 标准构造函数 virtual ~TwainUIDlg(); // 对话框数据 #ifdef AFX_DESIGN_TIME enum { IDD = IDD_DIALOG_TWAINUI }; #endif BasicSetting basicSetting; BrightSetting brightSetting; ImageProcess imageProcess; FeederPaper feederPaper; CTabCtrl m_tabCtrl; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 DECLARE_MESSAGE_MAP() public: afx_msg void OnBnClickedCancel(); afx_msg void OnBnClickedDefault(); afx_msg void OnBnClickedHelp(); afx_msg void OnBnClickedSaveItem(); afx_msg void OnBnClickedDeletItem(); afx_msg void OnBnClickedRecovery(); afx_msg void OnBnClickedBackUp(); virtual BOOL OnInitDialog(); afx_msg void OnSelchangeTab(NMHDR *pNMHDR, LRESULT *pResult); afx_msg void OnBnClickedConfirm(); void UpdateUI(CONFIGPARAMS configParams); void UpDateScanParam(PCONFIGPARAMS pConfigItem,bool updateDs=true); void UpdateListConfig(); std::string getSerialNum(); std::string getHardVersion(); private: MFC_UI * ui; std::vector cfi; int getResolution(int index); int getPaparSize(int index); int getResolutionIndex(int resolution); int getPaparSizeIndex(int papersize); int getColorModel(int index); int getColorModelIndex(int pixtype); std::vector getConfigFiles(); char strB[1]; char strC[1]; char strG[10]; public: afx_msg void OnLbnSelchangeLstconfig(); };