twain2/BasicSetting.cpp

188 lines
9.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.

// BasicSetting.cpp: 实现文件
//
#include "stdafx.h"
#include "BasicSetting.h"
#include "afxdialogex.h"
#include "Resource.h"
#include "TwainUIDlg.h"
#include <string>
#include <iostream>
#include <stdlib.h>
// 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();
}