twain2/TwainUIDlg.h

132 lines
6.3 KiB
C++
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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 <vector>
#include <twain.h>
// 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,90,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_B6 7
#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
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<CONFIGINFO> 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<CONFIGINFO> getConfigFiles();
char strB[1];
char strC[1];
char strG[10];
public:
afx_msg void OnLbnSelchangeLstconfig();
};