// CBasicPage.cpp: 实现文件 // #include "stdafx.h" #include "CBasicPage.h" #include "afxdialogex.h" #include "resource.h" #include "CAboutDlg.h" #include "CTwainUI.h" #include "CDiscardBlankSetting.h" #include "Device/JsonConfig.h" #include static std::vector color_Modes = { _T("24位彩色"), _T("256级灰度"), _T("黑白") }; static std::vector surportStyles = { _T("A3"), _T("A4"), _T("A4横向"), _T("A5"), _T("A5横向"), _T("A6"), _T("A6横向"), _T("B4"), _T("B5"), _T("B5横向"), _T("B6"), _T("B6横向"), _T("Letter"), _T("Letter横向"), _T("Double Letter"), _T("LEGAL"), _T("匹配原始尺寸"), _T("最大扫描尺寸自动裁切"), _T("最大扫描尺寸"), }; static std::vector reslutions{ _T("100"), _T("150"), _T("200"), _T("240"), _T("300") }; static std::vector duplexs { _T("单面"), _T("双面"), _T("跳过空白页(通用)"), _T("跳过空白页(发票纸)") }; // CBasicPage 对话框 IMPLEMENT_DYNAMIC(CBasicPage, CTabPageSSL) CBasicPage::CBasicPage(std::function dataChange, CWnd* pParent /*=nullptr*/) : CTabPageSSL(IDD_PAGEBASIC, pParent) , m_dataChange(dataChange) , AreaNum(8) , DevnMax(200) { } CBasicPage::~CBasicPage() { } void CBasicPage::DoDataExchange(CDataExchange* pDX) { CTabPageSSL::DoDataExchange(pDX); } BOOL CBasicPage::OnInitDialog() { CTabPageSSL::OnInitDialog(); m_cmBoxColorMode = (CComboBox*)GetDlgItem(IDC_CMBCOLORTYPE); m_cmBoxSS = (CComboBox*)GetDlgItem(IDC_CMBSS); m_cmBoxResultion = (CComboBox*)GetDlgItem(IDC_CMBRESLUTION); m_cmBoxDuplex = (CComboBox*)GetDlgItem(IDC_CMBDUPLEX); for (const CString& colorMode : color_Modes) m_cmBoxColorMode->AddString(colorMode); for (int i = 0; i < surportStyles.size(); i++) m_cmBoxSS->InsertString(i, surportStyles[i]); for (const CString& reslution : reslutions) m_cmBoxResultion->AddString(reslution); for (int i = 0; i < duplexs.size(); i++) m_cmBoxDuplex->InsertString(i,duplexs[i]); m_cmBoxResultion->SetCurSel(0); m_cmBoxSS->SetCurSel(0); m_cmBoxColorMode->SetCurSel(0); m_cmBoxDuplex->SetCurSel(0); return true; } BEGIN_MESSAGE_MAP(CBasicPage, CTabPageSSL) ON_BN_CLICKED(IDC_BTNABOUT, &CBasicPage::OnBnClickedBtnabout) ON_CBN_SELCHANGE(IDC_CMBCOLORTYPE, &CBasicPage::OnCbnSelchangeCmbcolortype) ON_CBN_SELCHANGE(IDC_CMBSS, &CBasicPage::OnCbnSelchangeCmbss) ON_CBN_SELCHANGE(IDC_CMBRESLUTION, &CBasicPage::OnCbnSelchangeCmbreslution) ON_CBN_SELCHANGE(IDC_CMBDUPLEX, &CBasicPage::OnCbnSelchangeCmbduplex) ON_BN_CLICKED(IDC_BTNDISCARDSETTING, &CBasicPage::OnClickedBtndiscardsetting) END_MESSAGE_MAP() // CBasicPage 消息处理程序 void CBasicPage::OnBnClickedBtnabout() { CAboutDlg dlg(m_hdVersion, m_serialNum,this); dlg.DoModal(); } void CBasicPage::OnCbnSelchangeCmbcolortype() { // TODO: 在此添加控件通知处理程序代码 m_dataChange(); } void CBasicPage::OnCbnSelchangeCmbss() { // TODO: 在此添加控件通知处理程序代码 int sleIndex = m_cmBoxSS->GetCurSel(); if (sleIndex == -1) { sleIndex = 0; } m_dataChange(); } void CBasicPage::OnCbnSelchangeCmbreslution() { // TODO: 在此添加控件通知处理程序代码 } void CBasicPage::OnCbnSelchangeCmbduplex() { // TODO: 在此添加控件通知处理程序代码 int index = m_cmBoxDuplex->GetCurSel(); if (index > 1) { //AreaNum = index == 2? 8 : 20 ; //DevnMax = index == 2 ? 200 : 300; m_dataChange(); } } //跳过空白页设置页面 void CBasicPage::OnClickedBtndiscardsetting() { // TODO: 在此添加控件通知处理程序代码 //JsonConfig jc; //CONFIGPARAMS params = jc.ReadDefaultConfig(); //CDiscardBlankSetting dbs(this, params.DBlank_AreaNum, params.DBlank_DevnMax); //int nRet = dbs.DoModal(); //if (nRet == IDOK) { // dbs.GetParams(AreaNum, DevnMax); //} } void CBasicPage::SetScannerInfo(std::string hdVersion, std::string serialNum) { m_hdVersion = hdVersion; m_serialNum = serialNum; }