mirror of http://192.168.1.51:8099/lmh188/twain3.0
182 lines
3.8 KiB
C++
182 lines
3.8 KiB
C++
|
// CBasicPage.cpp: 实现文件
|
|||
|
//
|
|||
|
|
|||
|
#include "stdafx.h"
|
|||
|
#include "CBasicPage.h"
|
|||
|
#include "afxdialogex.h"
|
|||
|
#include "resource.h"
|
|||
|
#include "CAboutDlg.h"
|
|||
|
#include "CDiscardBlankSetting.h"
|
|||
|
#include "Device/JsonConfig.h"
|
|||
|
#include <vector>
|
|||
|
|
|||
|
static std::vector<CString> colorModes = {
|
|||
|
_T("24位彩色"),
|
|||
|
_T("256级灰度"),
|
|||
|
_T("黑白")
|
|||
|
};
|
|||
|
|
|||
|
static std::vector<CString> 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<CString> reslutions{
|
|||
|
_T("100"),
|
|||
|
_T("150"),
|
|||
|
_T("200"),
|
|||
|
_T("240"),
|
|||
|
_T("300")
|
|||
|
};
|
|||
|
|
|||
|
static std::vector<CString> duplexs
|
|||
|
{
|
|||
|
_T("单面"),
|
|||
|
_T("双面"),
|
|||
|
_T("跳过空白页(通用)"),
|
|||
|
_T("跳过空白页(发票纸)")
|
|||
|
};
|
|||
|
|
|||
|
|
|||
|
// CBasicPage 对话框
|
|||
|
|
|||
|
IMPLEMENT_DYNAMIC(CBasicPage, CTabPageSSL)
|
|||
|
|
|||
|
CBasicPage::CBasicPage(std::function<void()> 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 : colorModes)
|
|||
|
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()
|
|||
|
{
|
|||
|
// TODO: 在此添加控件通知处理程序代码
|
|||
|
CAboutDlg dlg;
|
|||
|
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);
|
|||
|
//}
|
|||
|
}
|