// BasicSetting.cpp: 实现文件 // #include "stdafx.h" #include "BasicSetting.h" #include "afxdialogex.h" #include "Resource.h" #include "TwainUIDlg.h" #include #include #include // BasicSetting 对话框 IMPLEMENT_DYNAMIC(BasicSetting, CDialog) BasicSetting::BasicSetting(CWnd* pParent /*=nullptr*/) : CDialog(IDD_DIALOG_PAGEBASIC, pParent) { } BasicSetting::~BasicSetting() { } void BasicSetting::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Control(pDX, IDC_CMBCOLORTYPE, cmBoxColorMode); DDX_Control(pDX, IDC_CMBSS, cmBoxSS); DDX_Control(pDX, IDC_CMBRESLUTION, cmBoxResultion); DDX_Control(pDX, IDC_CMBDUPLEX, cmBoxDuplex); } BEGIN_MESSAGE_MAP(BasicSetting, CDialog) ON_CBN_SELCHANGE(IDC_CMBCOLORTYPE, &BasicSetting::OnCbnSelchangeCmbcolortype) ON_CBN_SELCHANGE(IDC_CMBDUPLEX, &BasicSetting::OnCbnSelchangeCmbduplex) ON_CBN_SELCHANGE(IDC_CMBSS, &BasicSetting::OnCbnSelchangeCmbss) ON_CBN_SELCHANGE(IDC_CMBRESLUTION, &BasicSetting::OnCbnSelchangeCmbreslution) ON_BN_CLICKED(IDC_BTNABOUT, &BasicSetting::OnBnClickedBtnabout) END_MESSAGE_MAP() // BasicSetting 消息处理程序 BOOL BasicSetting::OnInitDialog() { CDialog::OnInitDialog(); OnInitColorMode(1); OnInitSS(1); OnInitReslution(2); OnInitDuplex(1); // TODO: 在此添加额外的初始化 return TRUE; // return TRUE unless you set the focus to a control // 异常: OCX 属性页应返回 FALSE } void BasicSetting::OnInitColorMode(int selectIndex) { cmBoxColorMode.InsertString(0, _T("24位彩色")); cmBoxColorMode.InsertString(1, _T("256级灰度")); cmBoxColorMode.InsertString(2, _T("黑白")); cmBoxColorMode.SetCurSel(selectIndex); } void BasicSetting::OnInitSS(int selectIndex) { cmBoxSS.InsertString(0, _T("A3")); cmBoxSS.InsertString(1, _T("A4")); cmBoxSS.InsertString(2, _T("A4横向")); cmBoxSS.InsertString(3, _T("A5")); cmBoxSS.InsertString(4, _T("A5横向")); cmBoxSS.InsertString(5, _T("A6")); cmBoxSS.InsertString(6, _T("A6横向")); cmBoxSS.InsertString(7, _T("B4")); cmBoxSS.InsertString(8, _T("B5")); cmBoxSS.InsertString(9, _T("B5横向")); cmBoxSS.InsertString(10, _T("B6")); cmBoxSS.InsertString(11, _T("B6横向")); cmBoxSS.InsertString(12, _T("Letter")); cmBoxSS.InsertString(13, _T("Letter横向")); cmBoxSS.InsertString(14, _T("Double Letter")); cmBoxSS.InsertString(15, _T("LEGAL")); cmBoxSS.InsertString(16, _T("匹配原始尺寸")); cmBoxSS.InsertString(17, _T("最大扫描尺寸")); cmBoxSS.SetCurSel(selectIndex); } void BasicSetting::OnInitReslution(int selectIndex) { cmBoxResultion.InsertString(0, _T("100")); cmBoxResultion.InsertString(1, _T("150")); cmBoxResultion.InsertString(2, _T("200")); cmBoxResultion.InsertString(3, _T("240")); cmBoxResultion.InsertString(4, _T("300")); cmBoxResultion.SetCurSel(selectIndex); } void BasicSetting::OnInitDuplex(int selectIndex) { cmBoxDuplex.InsertString(0, _T("单面")); cmBoxDuplex.InsertString(1, _T("双面")); cmBoxDuplex.InsertString(2, _T("跳过空白页(通用)")); cmBoxDuplex.InsertString(3, _T("跳过空白页(发票纸)")); cmBoxDuplex.SetCurSel(selectIndex); } void BasicSetting::OnCbnSelchangeCmbcolortype() { // TODO: 在此添加控件通知处理程序代码 CComboBox* m_temp = (CComboBox*)(m_pImagePrcWin->GetDlgItem(IDC_CMBFILTER)); CButton* t_chMultiOutput=(CButton*)(m_pImagePrcWin->GetDlgItem(IDC_CKMULTIOUTPUT)); //TwainUIDlg* m_TwainDlg = (TwainUIDlg*)this->GetParent(); int index = cmBoxColorMode.GetCurSel(); switch (index) { case 0://彩色 { m_temp->SetCurSel(0); m_temp->EnableWindow(FALSE); t_chMultiOutput->SetCheck(FALSE); t_chMultiOutput->EnableWindow(TRUE); } break; case 1://灰度 case 2://黑白 { m_temp->SetCurSel(0); m_temp->EnableWindow(TRUE); t_chMultiOutput->SetCheck(FALSE); t_chMultiOutput->EnableWindow(FALSE); } break; default: break; } } void BasicSetting::OnCbnSelchangeCmbduplex() { // TODO: 在此添加控件通知处理程序代码 CButton* m_tempBtn = (CButton*)(m_pFeedWin->GetDlgItem(IDC_CKBACKROTATION)); switch (cmBoxDuplex.GetCurSel()) { case 0: m_tempBtn->SetCheck(0); m_tempBtn->EnableWindow(FALSE); break; case 1: case 2: m_tempBtn->SetCheck(0); m_tempBtn->EnableWindow(TRUE); break; default: break; } } void BasicSetting::OnCbnSelchangeCmbss() { // TODO: 在此添加控件通知处理程序代码 int sleIndex = cmBoxSS.GetCurSel(); if (sleIndex==-1) { sleIndex = 0; } } void BasicSetting::OnCbnSelchangeCmbreslution() { // TODO: 在此添加控件通知处理程序代码 } void BasicSetting::OnBnClickedBtnabout() { // TODO: 在此添加控件通知处理程序代码 TwainUIDlg *parent=(TwainUIDlg*)(this->GetParent()->GetParent()); AboutHuaGoDlg about(SCANNERNAME,parent->getSerialNum(),parent->getHardVersion()); about.DoModal(); }