2023-04-28 06:55:16 +00:00
|
|
|
|
// CTwainUI.cpp: ʵ<><CAB5><EFBFBD>ļ<EFBFBD>
|
2020-03-11 01:58:06 +00:00
|
|
|
|
//
|
|
|
|
|
#include "stdafx.h"
|
|
|
|
|
#include "CTwainUI.h"
|
|
|
|
|
#include "afxdialogex.h"
|
|
|
|
|
#include "resource.h"
|
|
|
|
|
#include "TabCtrlSSL.h"
|
|
|
|
|
#include "CBasicPage.h"
|
|
|
|
|
#include "CBrightnessPage.h"
|
|
|
|
|
#include "CFeedPaperPage.h"
|
|
|
|
|
#include "CImageProcPage.h"
|
|
|
|
|
#include "Device/PaperSize.h"
|
|
|
|
|
#include <list>
|
2022-05-24 12:05:47 +00:00
|
|
|
|
#include "Device/filetools.h"
|
2020-06-20 03:04:32 +00:00
|
|
|
|
#include "GscanJsonConfig.h"
|
2023-04-28 06:55:16 +00:00
|
|
|
|
// CTwainUI <20>Ի<EFBFBD><D4BB><EFBFBD>
|
2020-03-11 01:58:06 +00:00
|
|
|
|
|
|
|
|
|
IMPLEMENT_DYNAMIC(CTwainUI, CDialogEx)
|
|
|
|
|
|
2022-02-14 02:30:19 +00:00
|
|
|
|
CTwainUI::CTwainUI(TwGlue glue, GScanCap caps, std::string confirmtitle, std::string hardwareversion, std::string serialnum,std::string macadder, std::uint32_t mbversion ,CWnd* pParent /*=nullptr*/)
|
2020-03-11 01:58:06 +00:00
|
|
|
|
: CDialogEx(IDD_TWAINUI, pParent)
|
|
|
|
|
, m_tabCtrl(new CTabCtrlSSL())
|
|
|
|
|
, m_pageBrightness(new CBrightnessPage)
|
2023-05-05 03:50:19 +00:00
|
|
|
|
, m_pageFeedPaper(new CFeedPaperPage(glue))
|
2020-03-11 01:58:06 +00:00
|
|
|
|
, m_pageImageProc(new CImageProcPage)
|
|
|
|
|
, m_glue(glue)
|
2020-06-20 03:04:32 +00:00
|
|
|
|
, settings(new GScanCap(caps))
|
2020-03-17 13:02:50 +00:00
|
|
|
|
, m_confirmtitle(confirmtitle)
|
2020-03-11 01:58:06 +00:00
|
|
|
|
{
|
2020-03-17 13:02:50 +00:00
|
|
|
|
m_hardwareVersion = hardwareversion;
|
|
|
|
|
m_serialnum = serialnum;
|
2021-12-16 08:21:35 +00:00
|
|
|
|
m_mbversion = mbversion;
|
2022-02-14 02:30:19 +00:00
|
|
|
|
m_macadder = macadder;
|
2020-03-11 01:58:06 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CTwainUI::~CTwainUI()
|
|
|
|
|
{
|
2020-09-21 01:25:46 +00:00
|
|
|
|
m_pageBrightness.reset();
|
|
|
|
|
m_pageBasic.reset();
|
|
|
|
|
m_pageFeedPaper.reset();
|
|
|
|
|
m_pageImageProc.reset();
|
2020-03-11 01:58:06 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CTwainUI::DoDataExchange(CDataExchange* pDX)
|
|
|
|
|
{
|
|
|
|
|
CDialogEx::DoDataExchange(pDX);
|
|
|
|
|
DDX_Control(pDX, IDC_TAB, *m_tabCtrl);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
BOOL CTwainUI::OnInitDialog()
|
|
|
|
|
{
|
|
|
|
|
CDialogEx::OnInitDialog();
|
|
|
|
|
// Setup the tab control
|
2020-07-20 02:29:10 +00:00
|
|
|
|
this->SetWindowText(TWAIN_NAME);
|
2020-03-11 01:58:06 +00:00
|
|
|
|
|
|
|
|
|
auto dataChangeFunction = [this]() {
|
2022-06-29 12:24:24 +00:00
|
|
|
|
if (m_pageBasic.get() && m_pageImageProc.get() && m_pageBrightness.get() && m_pageFeedPaper.get()) {
|
|
|
|
|
m_pageImageProc->ImageProcPageUpdate(m_pageBasic->m_cmBoxColorMode->GetCurSel(), m_pageBasic->m_cmBoxSS->GetCurSel(), m_pageBasic->m_cmBoxDuplex->GetCurSel(),
|
|
|
|
|
(getcombox_ss(m_pageBasic->m_cmBoxSS->GetCurSel()) == TwSS::USStatement) || (getcombox_ss(m_pageBasic->m_cmBoxSS->GetCurSel()) == TwSS::None), m_pageBasic->m_Slider_Dpi.m_iPosition);
|
|
|
|
|
m_pageFeedPaper->FeedPaperPageUpdate(m_pageBasic->m_cmBoxDuplex->GetCurSel());
|
|
|
|
|
m_pageImageProc->ImageAutoDescrewUpdate(m_pageBasic->m_cmBoxSS->GetCurSel());
|
|
|
|
|
//m_pageFeedPaper->FeedAutoDescrewUpdate(m_pageBasic->m_cmBoxSS->GetCurSel());
|
|
|
|
|
UpdateUi();
|
|
|
|
|
m_pageBasic->OnNMReleasedcaptureSliderdpi(nullptr, nullptr);
|
|
|
|
|
}
|
2020-03-11 01:58:06 +00:00
|
|
|
|
};
|
|
|
|
|
|
2020-07-20 02:29:10 +00:00
|
|
|
|
int nPageID = 0;
|
2020-03-11 01:58:06 +00:00
|
|
|
|
m_pageBasic.reset(new CBasicPage(dataChangeFunction));
|
|
|
|
|
m_pageBasic->Create(IDD_PAGEBASIC, this);
|
2020-12-09 08:02:51 +00:00
|
|
|
|
m_pageBasic->discardblank_percent = settings->discardblank_percent;
|
2022-02-14 02:30:19 +00:00
|
|
|
|
m_pageBasic->SetScannerInfo(m_hardwareVersion, m_serialnum, m_macadder);
|
2023-04-28 06:55:16 +00:00
|
|
|
|
m_tabCtrl->AddSSLPage(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), nPageID++, m_pageBasic.get());
|
2020-03-11 01:58:06 +00:00
|
|
|
|
m_pageBrightness->Create(IDD_PAGEBRIGHTNESS, this);
|
2023-04-28 06:55:16 +00:00
|
|
|
|
m_tabCtrl->AddSSLPage(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), nPageID++, m_pageBrightness.get());
|
2020-03-11 01:58:06 +00:00
|
|
|
|
m_pageImageProc->Create(IDD_PAGEIMGPROC, this);
|
2023-04-28 06:55:16 +00:00
|
|
|
|
m_tabCtrl->AddSSLPage(_T("ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), nPageID++, m_pageImageProc.get());
|
2020-03-11 01:58:06 +00:00
|
|
|
|
m_pageFeedPaper->Create(IDD_PAGEFEEDPAPER, this);
|
2023-04-28 06:55:16 +00:00
|
|
|
|
m_tabCtrl->AddSSLPage(_T("<EFBFBD><EFBFBD>ֽ"), nPageID++, m_pageFeedPaper.get());
|
2020-03-17 13:02:50 +00:00
|
|
|
|
CString title(m_confirmtitle.c_str());
|
2020-06-20 03:04:32 +00:00
|
|
|
|
this->GetDlgItem(IDC_CONFIRM)->SetWindowText(title);
|
2021-11-20 03:09:04 +00:00
|
|
|
|
#ifdef G200
|
2022-05-24 12:05:47 +00:00
|
|
|
|
if (m_hardwareVersion.size() > 9 && m_hardwareVersion.substr(2,2) == "39")
|
2021-12-16 08:21:35 +00:00
|
|
|
|
{
|
2022-05-24 12:05:47 +00:00
|
|
|
|
if ((m_hardwareVersion[5] == 'A' && atoi(m_hardwareVersion.substr(6, 4).c_str()) > 1209)|| (m_hardwareVersion[5] > 'A'))
|
|
|
|
|
{
|
2021-12-16 08:21:35 +00:00
|
|
|
|
if (m_mbversion >= 35211210)
|
|
|
|
|
setvisable_autopaper(true);
|
|
|
|
|
else
|
|
|
|
|
setvisable_autopaper(false);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
setvisable_autopaper(false);
|
2022-05-24 12:05:47 +00:00
|
|
|
|
if ((m_hardwareVersion[5] == 'B' && atoi(m_hardwareVersion.substr(6, 4).c_str()) >= 412)||(m_hardwareVersion[5] > 'B'))
|
|
|
|
|
setvisable_fixedpaper(true);
|
|
|
|
|
else
|
|
|
|
|
setvisable_fixedpaper(false);
|
|
|
|
|
setvisable_dogear(true);
|
|
|
|
|
setvisable_size(true);
|
2023-05-05 03:50:19 +00:00
|
|
|
|
if ((m_hardwareVersion[5] == 'B' && atoi(m_hardwareVersion.substr(6, 4).c_str()) >= 505) || (m_hardwareVersion[5] > 'B'))
|
|
|
|
|
m_pageFeedPaper->GetDlgItem(IDC_BTNFEEDMODE)->ShowWindow(SW_SHOW);
|
2022-06-29 12:24:24 +00:00
|
|
|
|
if ((m_hardwareVersion[5] == 'B' && atoi(m_hardwareVersion.substr(6, 4).c_str()) >= 430) || (m_hardwareVersion[5] > 'B'))
|
|
|
|
|
m_pageBasic->m_Edit_Dpi.SetParams(100, 600, 10);
|
2023-01-04 06:30:50 +00:00
|
|
|
|
if ((m_hardwareVersion[5] == 'C' && atoi(m_hardwareVersion.substr(6, 4).c_str()) >= 103) || (m_hardwareVersion[5] > 'C'))
|
|
|
|
|
m_pageBasic->GetDlgItem(IDC_CKCOLORCAST)->ShowWindow(SW_SHOW);
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
((CButton*)m_pageBasic->GetDlgItem(IDC_CKCOLORCAST))->SetCheck(FALSE);
|
|
|
|
|
m_pageBasic->GetDlgItem(IDC_CKCOLORCAST)->ShowWindow(SW_HIDE);
|
|
|
|
|
}
|
2022-05-24 12:05:47 +00:00
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
setvisable_dogear(false);
|
|
|
|
|
setvisable_size(false);
|
|
|
|
|
setvisable_autopaper(false);
|
|
|
|
|
setvisable_fixedpaper(false);
|
2022-06-29 12:24:24 +00:00
|
|
|
|
|
|
|
|
|
((CButton*)m_pageBasic->GetDlgItem(IDC_RDQUALITYPRIORITY))->ShowWindow(SW_HIDE);
|
|
|
|
|
((CButton*)m_pageBasic->GetDlgItem(IDC_RDSPEEDPRIORITY))->ShowWindow(SW_HIDE);
|
2021-12-16 08:21:35 +00:00
|
|
|
|
}
|
2021-11-20 03:09:04 +00:00
|
|
|
|
#else
|
2022-05-24 12:05:47 +00:00
|
|
|
|
#ifndef ANDROIDSERIAL
|
|
|
|
|
setvisable_dogear(true);
|
|
|
|
|
if (m_hardwareVersion.size() > 9 && m_hardwareVersion.substr(2,2) == "39")
|
|
|
|
|
{
|
|
|
|
|
if ((m_hardwareVersion[5] == 'B' && atoi(m_hardwareVersion.substr(6, 4).c_str()) > 422)||(m_hardwareVersion[5] > 'B')){
|
|
|
|
|
setvisable_autopaper(true);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
setvisable_autopaper(false);
|
|
|
|
|
}
|
2023-05-26 07:58:03 +00:00
|
|
|
|
if ((m_hardwareVersion[5] == 'C' && atoi(m_hardwareVersion.substr(6, 4).c_str()) >= 103) || (m_hardwareVersion[5] > 'C'))
|
|
|
|
|
m_pageBasic->GetDlgItem(IDC_CKCOLORCAST)->ShowWindow(SW_SHOW);
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
((CButton*)m_pageBasic->GetDlgItem(IDC_CKCOLORCAST))->SetCheck(FALSE);
|
|
|
|
|
m_pageBasic->GetDlgItem(IDC_CKCOLORCAST)->ShowWindow(SW_HIDE);
|
|
|
|
|
}
|
2022-05-24 12:05:47 +00:00
|
|
|
|
setvisable_dogear(true);
|
|
|
|
|
setvisable_size(true);
|
2022-06-29 12:24:24 +00:00
|
|
|
|
setvisable_fixedpaper(false);
|
|
|
|
|
m_pageBasic->m_Edit_Dpi.SetParams(100, 600, 10);
|
2022-05-24 12:05:47 +00:00
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
2022-06-29 12:24:24 +00:00
|
|
|
|
|
2023-04-24 11:30:39 +00:00
|
|
|
|
if (atoi(m_hardwareVersion.substr(4, 6).c_str()) >= 230130)
|
2022-06-29 12:24:24 +00:00
|
|
|
|
{
|
2022-05-24 12:05:47 +00:00
|
|
|
|
setvisable_size(true);
|
2022-06-29 12:24:24 +00:00
|
|
|
|
}
|
2022-05-24 12:05:47 +00:00
|
|
|
|
else
|
2022-06-29 12:24:24 +00:00
|
|
|
|
{
|
2022-05-24 12:05:47 +00:00
|
|
|
|
setvisable_size(false);
|
2022-06-29 12:24:24 +00:00
|
|
|
|
}
|
2023-05-26 07:58:03 +00:00
|
|
|
|
|
2022-06-29 12:24:24 +00:00
|
|
|
|
((CButton*)m_pageBasic->GetDlgItem(IDC_RDQUALITYPRIORITY))->ShowWindow(SW_HIDE);
|
|
|
|
|
((CButton*)m_pageBasic->GetDlgItem(IDC_RDSPEEDPRIORITY))->ShowWindow(SW_HIDE);
|
|
|
|
|
#ifdef G400
|
|
|
|
|
if (atoi(m_hardwareVersion.substr(4, 6).c_str()) >= 220117)
|
|
|
|
|
{
|
|
|
|
|
((CButton*)m_pageBasic->GetDlgItem(IDC_RDQUALITYPRIORITY))->ShowWindow(SW_SHOW);
|
|
|
|
|
((CButton*)m_pageBasic->GetDlgItem(IDC_RDSPEEDPRIORITY))->ShowWindow(SW_SHOW);
|
|
|
|
|
}
|
2022-11-15 03:55:44 +00:00
|
|
|
|
#elif defined(G300)
|
2023-04-24 11:30:39 +00:00
|
|
|
|
if (atoi(m_hardwareVersion.substr(4, 6).c_str()) >= 230130)
|
2022-11-15 03:55:44 +00:00
|
|
|
|
{
|
|
|
|
|
((CButton*)m_pageBasic->GetDlgItem(IDC_RDQUALITYPRIORITY))->ShowWindow(SW_SHOW);
|
|
|
|
|
((CButton*)m_pageBasic->GetDlgItem(IDC_RDSPEEDPRIORITY))->ShowWindow(SW_SHOW);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
2022-06-29 12:24:24 +00:00
|
|
|
|
setvisable_dogear(false);
|
2023-03-13 08:53:10 +00:00
|
|
|
|
setvisable_autopaper(true);
|
2022-05-24 12:05:47 +00:00
|
|
|
|
setvisable_fixedpaper(false);
|
|
|
|
|
}
|
|
|
|
|
#else
|
2021-11-20 03:09:04 +00:00
|
|
|
|
setvisable_dogear(false);
|
2022-05-24 12:05:47 +00:00
|
|
|
|
setvisable_size(false);
|
2021-12-16 08:21:35 +00:00
|
|
|
|
setvisable_autopaper(false);
|
2022-05-24 12:05:47 +00:00
|
|
|
|
setvisable_fixedpaper(false);
|
2022-06-29 12:24:24 +00:00
|
|
|
|
((CButton*)m_pageBasic->GetDlgItem(IDC_RDQUALITYPRIORITY))->ShowWindow(SW_HIDE);
|
|
|
|
|
((CButton*)m_pageBasic->GetDlgItem(IDC_RDSPEEDPRIORITY))->ShowWindow(SW_HIDE);
|
2022-05-24 12:05:47 +00:00
|
|
|
|
#endif
|
2021-06-21 11:38:36 +00:00
|
|
|
|
#endif // G200
|
2022-05-24 12:05:47 +00:00
|
|
|
|
//setvisable_fixedpaper(false);
|
2022-06-29 12:24:24 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
UpdateUI();
|
|
|
|
|
UpdateListConfig();
|
|
|
|
|
dataChangeFunction();
|
|
|
|
|
setvisable_sleepmode(false);
|
2020-03-11 01:58:06 +00:00
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CTwainUI, CDialogEx)
|
|
|
|
|
ON_BN_CLICKED(IDC_CONFIRM, &CTwainUI::OnBnClickedConfirm)
|
|
|
|
|
ON_BN_CLICKED(IDC_BTNDEFAULT, &CTwainUI::OnBnClickedBtndefault)
|
|
|
|
|
ON_BN_CLICKED(ID_CANCEL, &CTwainUI::OnBnClickedCancel)
|
|
|
|
|
ON_BN_CLICKED(IDC_BTNHELP, &CTwainUI::OnBnClickedBtnhelp)
|
|
|
|
|
ON_BN_CLICKED(IDC_BTNBACKUPCONFIG, &CTwainUI::OnBnClickedBtnbackupconfig)
|
|
|
|
|
ON_BN_CLICKED(IDC_BTNSAVECONFIG, &CTwainUI::OnBnClickedBtnsaveconfig)
|
|
|
|
|
ON_BN_CLICKED(IDC_BTNDELETCONFIG, &CTwainUI::OnBnClickedBtndeletconfig)
|
|
|
|
|
ON_BN_CLICKED(IDC_BTNRECOVERYCONFIG, &CTwainUI::OnBnClickedBtnrecoveryconfig)
|
|
|
|
|
ON_LBN_SELCHANGE(IDC_LSTCONFIG, &CTwainUI::OnLbnSelchangeLstconfig)
|
2020-05-16 01:59:44 +00:00
|
|
|
|
ON_WM_CLOSE()
|
2022-06-29 12:24:24 +00:00
|
|
|
|
ON_NOTIFY(NM_CLICK, IDC_TAB, &CTwainUI::OnNMClickTab)
|
2020-03-11 01:58:06 +00:00
|
|
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void CTwainUI::OnBnClickedConfirm()
|
|
|
|
|
{
|
2023-04-28 06:55:16 +00:00
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2022-06-29 12:24:24 +00:00
|
|
|
|
OnNMClickTab(nullptr, nullptr);
|
2020-06-20 03:04:32 +00:00
|
|
|
|
CONFIGPARAMS cfg = { 0 };
|
|
|
|
|
UpDateScanParam(&cfg);
|
2020-05-16 01:59:44 +00:00
|
|
|
|
m_glue.m_scan(*settings);
|
2020-03-11 01:58:06 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void CTwainUI::OnBnClickedBtndefault()
|
|
|
|
|
{
|
2023-04-28 06:55:16 +00:00
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2020-06-20 03:04:32 +00:00
|
|
|
|
GscanJsonConfig js;
|
|
|
|
|
GScanCap cf = js.GetDefaultGscancapValue();
|
|
|
|
|
settings.reset(new GScanCap(cf));
|
2021-02-03 10:21:45 +00:00
|
|
|
|
|
2020-06-20 03:04:32 +00:00
|
|
|
|
UpdateUI();
|
2020-03-11 01:58:06 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void CTwainUI::OnBnClickedCancel()
|
|
|
|
|
{
|
2023-04-28 06:55:16 +00:00
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2020-03-11 01:58:06 +00:00
|
|
|
|
m_glue.m_cancel();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void CTwainUI::OnBnClickedBtnhelp()
|
|
|
|
|
{
|
2023-04-28 06:55:16 +00:00
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2020-03-11 01:58:06 +00:00
|
|
|
|
this->SetWindowPos(&wndNoTopMost, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
|
|
|
|
|
TCHAR chmPath[MAX_PATH] = { 0 };
|
|
|
|
|
SHGetSpecialFolderPath(NULL, chmPath, CSIDL_WINDOWS, TRUE);
|
|
|
|
|
_tcscat(chmPath, CHM_DEFAULT_PATH);
|
|
|
|
|
int ret = (int)ShellExecute(NULL, _T("Open"), chmPath, NULL, NULL, SW_SHOWMAXIMIZED);
|
|
|
|
|
if (ret < 32)
|
2023-04-28 06:55:16 +00:00
|
|
|
|
MessageBox(ret == ERROR_FILE_NOT_FOUND ? _T("δ<EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><EFBFBD><EFBFBD>") : _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><EFBFBD>쳣<EFBFBD><EFBFBD>"),
|
|
|
|
|
_T("<EFBFBD><EFBFBD>ʾ"), MB_OK | MB_ICONINFORMATION);
|
2020-03-11 01:58:06 +00:00
|
|
|
|
|
|
|
|
|
this->SetWindowPos(&wndTopMost, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
|
|
|
|
|
}
|
|
|
|
|
|
2020-06-20 03:04:32 +00:00
|
|
|
|
void CTwainUI::UpdateUI()
|
2020-03-11 01:58:06 +00:00
|
|
|
|
{
|
2020-06-20 03:04:32 +00:00
|
|
|
|
//!< basic page
|
2023-04-28 06:55:16 +00:00
|
|
|
|
m_pageBasic->m_cmBoxColorMode->SetCurSel(settings->automaticcolor ? 3 : get_map_key_by_value(colorModes, settings->pixtype));//!< <20><>ɫģʽ
|
|
|
|
|
//m_pageBasic->m_cmBoxResultion->SetCurSel(get_map_key_by_value(resolutions, settings->resolution_dst));//!< <20>ֱ<EFBFBD><D6B1><EFBFBD>
|
2021-02-03 10:21:45 +00:00
|
|
|
|
//m_pageBasic->m_Slider_Dpi.SetPos(settings->resolution_dst);
|
|
|
|
|
m_pageBasic->m_Edit_Dpi.SetValue((int)settings->resolution_dst);
|
2023-04-28 06:55:16 +00:00
|
|
|
|
m_pageBasic->m_cmBoxDuplex->SetCurSel(getCmbDuplexIndex());//!< <20><>˫<EFBFBD><CBAB>
|
|
|
|
|
m_pageBasic->m_cmBoxSS->SetCurSel(getPaparSizeIndex(settings->papertype, settings->paperAlign)); //!< ֽ<><D6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
m_pageBasic->m_enableSizeCheck = settings->en_sizecheck == 1 ? TRUE : FALSE;//!< <20>ߴ<EFBFBD><DFB4><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
m_pageBasic->m_bswitchfrontback = settings->is_switchfrontback ? TRUE : FALSE; //!< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2022-05-24 12:05:47 +00:00
|
|
|
|
((CButton*)m_pageBasic->GetDlgItem(IDC_RDQUALITYPRIORITY))->SetCheck(settings->is_high_imagequality);
|
|
|
|
|
((CButton*)m_pageBasic->GetDlgItem(IDC_RDSPEEDPRIORITY))->SetCheck(!settings->is_high_imagequality);
|
2021-12-16 08:21:35 +00:00
|
|
|
|
((CButton*)m_pageBasic->GetDlgItem(IDC_CKSPLIT))->SetCheck(settings->is_split);
|
2022-05-24 12:05:47 +00:00
|
|
|
|
((CButton*)m_pageBasic->GetDlgItem(IDC_CKFIXEDPAPER))->SetCheck(settings->en_fixedpaper);
|
2023-01-04 06:30:50 +00:00
|
|
|
|
((CButton*)m_pageBasic->GetDlgItem(IDC_CKCOLORCAST))->SetCheck(settings->pixtype == 2?settings->is_colorcast : FALSE);
|
2021-06-30 13:58:13 +00:00
|
|
|
|
#ifdef UV
|
|
|
|
|
m_pageBasic->m_bUV = settings->hardwarecaps.en_uv == 1 ? TRUE : FALSE;
|
|
|
|
|
#endif
|
2020-03-11 01:58:06 +00:00
|
|
|
|
m_pageBasic->UpdateData(FALSE);
|
2022-10-20 02:40:25 +00:00
|
|
|
|
if (getCmbDuplexIndex() == 2 || getCmbDuplexIndex() == 3)
|
2020-12-09 08:02:51 +00:00
|
|
|
|
m_pageBasic->GetDlgItem(IDC_BTNDISCARDSETTING)->EnableWindow(true);
|
|
|
|
|
else
|
|
|
|
|
m_pageBasic->GetDlgItem(IDC_BTNDISCARDSETTING)->EnableWindow(false);
|
2020-03-11 01:58:06 +00:00
|
|
|
|
//!< Page Breghtness
|
2021-02-03 10:21:45 +00:00
|
|
|
|
|
2023-04-28 06:55:16 +00:00
|
|
|
|
m_pageBrightness->m_cbAutoContrast = settings->is_autocontrast == TRUE ? TRUE : FALSE; //!< <20>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>ȶԱȶ<D4B1>
|
2020-06-20 03:04:32 +00:00
|
|
|
|
int brt = GetMappingBrightnessValue(settings->brightness);
|
2023-04-28 06:55:16 +00:00
|
|
|
|
m_pageBrightness->m_Edit_Brightness.SetValue(brt); //!< <20><><EFBFBD><EFBFBD>
|
2020-06-20 03:04:32 +00:00
|
|
|
|
int crt = GetContrastLevel(settings->contrast);
|
2023-04-28 06:55:16 +00:00
|
|
|
|
m_pageBrightness->m_Edit_Contrast.SetValue(crt);//!<<3C>Աȶ<D4B1>
|
2020-06-20 03:04:32 +00:00
|
|
|
|
m_pageBrightness->m_Edit_Gamma.SetValue(settings->gamma); //!< gamma
|
2020-03-11 01:58:06 +00:00
|
|
|
|
m_pageBrightness->UpdateData(FALSE);
|
|
|
|
|
|
|
|
|
|
//!< Page Proc
|
2020-12-09 08:02:51 +00:00
|
|
|
|
//!
|
2021-02-03 10:21:45 +00:00
|
|
|
|
m_pageImageProc->noise = settings->noise;
|
|
|
|
|
m_pageImageProc->threshold = settings->AutoCrop_threshold;
|
|
|
|
|
m_pageImageProc->indent = settings->indent;
|
|
|
|
|
m_pageImageProc->is_convex = settings->is_convex;
|
|
|
|
|
m_pageBasic->discardblank_percent = settings->discardblank_percent;
|
|
|
|
|
|
2021-07-19 10:36:34 +00:00
|
|
|
|
((CButton*)m_pageImageProc->GetDlgItem(IDC_CKCROPMODEL))->SetCheck(settings->normalCrop);
|
2023-04-28 06:55:16 +00:00
|
|
|
|
m_pageImageProc->m_ckbFillBlack = settings->fillbackground == TRUE ? TRUE : FALSE;//<2F><><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD>
|
|
|
|
|
m_pageImageProc->m_ckbAutoDeskrew = settings->autodescrew ? TRUE : FALSE;//<2F>Զ<EFBFBD><D4B6><EFBFBD>ƫ
|
2020-06-20 03:04:32 +00:00
|
|
|
|
UpdateFilterCmbx();
|
2021-07-19 10:36:34 +00:00
|
|
|
|
if (settings->fillbackground || settings->autodescrew || settings->is_autocrop) {
|
|
|
|
|
m_pageImageProc->GetDlgItem(IDC_ADVANCEDSET)->EnableWindow(TRUE);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
m_pageImageProc->GetDlgItem(IDC_ADVANCEDSET)->EnableWindow(FALSE);
|
|
|
|
|
}
|
2020-07-07 01:55:33 +00:00
|
|
|
|
m_pageImageProc->m_cmBoxSharpen.SetCurSel(settings->sharpen);
|
|
|
|
|
//UpdateSharpenCmbx();
|
2023-04-28 06:55:16 +00:00
|
|
|
|
m_pageImageProc->m_ckbRemoveHole = settings->fillhole.is_fillhole == TRUE ? TRUE : FALSE;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><D7BF><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
m_pageImageProc->m_edit_hole.SetValue(settings->fillhole.fillholeratio / 100.0);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
|
2020-06-20 03:04:32 +00:00
|
|
|
|
m_pageImageProc->m_edit_hole.EnableWindow(settings->fillhole.is_fillhole == TRUE ? TRUE : FALSE);
|
2022-09-20 01:08:11 +00:00
|
|
|
|
m_pageImageProc->GetDlgItem(IDC_BTNHOLE)->EnableWindow(settings->fillhole.is_fillhole == TRUE ? TRUE : FALSE);
|
|
|
|
|
m_pageImageProc->m_fillhole_up = settings->fillholeratio_up;
|
|
|
|
|
m_pageImageProc->m_fillhole_down = settings->fillholeratio_down;
|
|
|
|
|
m_pageImageProc->m_fillhole_left = settings->fillholeratio_left;
|
|
|
|
|
m_pageImageProc->m_fillhole_right = settings->fillholeratio_right;
|
|
|
|
|
m_pageImageProc->m_en_fillhole_up = settings->en_fillholeratio_up;
|
|
|
|
|
m_pageImageProc->m_en_fillhole_down = settings->en_fillholeratio_down;
|
|
|
|
|
m_pageImageProc->m_en_fillhole_left = settings->en_fillholeratio_left;
|
|
|
|
|
m_pageImageProc->m_en_fillhole_right = settings->en_fillholeratio_right;
|
2021-04-06 01:31:21 +00:00
|
|
|
|
m_pageImageProc->GetDlgItem(IDC_SLDOUTHOLE)->EnableWindow(m_pageImageProc->m_ckbRemoveHole);
|
2022-02-14 02:30:19 +00:00
|
|
|
|
m_pageImageProc->m_ckbfadeback = settings->fadeback;
|
2022-11-15 03:55:44 +00:00
|
|
|
|
m_pageImageProc->m_ckbHSVDetechNoise = settings->hsvFilter;
|
2022-02-14 02:30:19 +00:00
|
|
|
|
((CButton*)m_pageImageProc->GetDlgItem(IDC_CKBACKGROUNDSMOOTH))->SetCheck(m_pageImageProc->m_ckbfadeback);
|
2022-12-15 09:40:43 +00:00
|
|
|
|
//((CButton*)m_pageImageProc->GetDlgItem(IDC_CKBACKGROUNDSMOOTH))->EnableWindow(settings->pixtype == 2);
|
2022-02-14 02:30:19 +00:00
|
|
|
|
m_pageImageProc->m_edit_faderange.SetValue(settings->fadeback_range);
|
|
|
|
|
m_pageImageProc->m_slider_faderange.EnableWindow(settings->fadeback);
|
|
|
|
|
m_pageImageProc->m_edit_faderange.EnableWindow(settings->fadeback);
|
|
|
|
|
|
2023-04-28 06:55:16 +00:00
|
|
|
|
m_pageImageProc->m_ckbDetachNoise = settings->detachnoise.is_detachnoise == TRUE ? TRUE : FALSE;//<2F>ڰ<DAB0><D7BD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
|
2020-12-09 08:02:51 +00:00
|
|
|
|
((CButton*)m_pageImageProc->GetDlgItem(IDC_CHECKDETACHNOISE))->SetCheck(m_pageImageProc->m_ckbDetachNoise);
|
2021-01-22 07:37:46 +00:00
|
|
|
|
((CButton*)m_pageImageProc->GetDlgItem(IDC_CHECKDETACHNOISE))->EnableWindow(settings->pixtype != 2);
|
2023-04-28 06:55:16 +00:00
|
|
|
|
((CButton*)m_pageImageProc->GetDlgItem(IDC_CHMULTIPUT))->SetCheck(settings->pixtype != 2 ? FALSE : settings->en_multi_output); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2022-05-24 12:05:47 +00:00
|
|
|
|
m_pageImageProc->GetDlgItem(IDC_CHMULTIPUT)->EnableWindow(settings->pixtype != 2);
|
|
|
|
|
|
2022-10-20 02:40:25 +00:00
|
|
|
|
((CComboBox*)m_pageImageProc->GetDlgItem(IDC_CMBMULTIOUT))->SetCurSel(settings->pixtype != 2 ? 0 : (settings->en_multi_output ? (settings->multioutput < 0 ? 0 : settings->multioutput) : 0));
|
2022-05-24 12:05:47 +00:00
|
|
|
|
m_pageImageProc->GetDlgItem(IDC_CMBMULTIOUT)->EnableWindow(settings->pixtype != 2 ? FALSE : settings->en_multi_output);
|
2020-12-09 08:02:51 +00:00
|
|
|
|
m_pageImageProc->m_edit_detachnoise.SetValue(settings->detachnoise.detachnoise);
|
|
|
|
|
m_pageImageProc->m_slider_detachnoise.EnableWindow(settings->detachnoise.is_detachnoise == TRUE ? TRUE : FALSE);
|
2022-02-14 02:30:19 +00:00
|
|
|
|
m_pageImageProc->m_edit_detachnoise.EnableWindow(settings->detachnoise.is_detachnoise == TRUE ? TRUE : FALSE);
|
2020-06-20 03:04:32 +00:00
|
|
|
|
if (settings->pixtype == 2)
|
2023-04-28 06:55:16 +00:00
|
|
|
|
m_pageImageProc->m_ckbMultioutput = settings->multi_output_red == TRUE ? TRUE : FALSE;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2020-06-20 03:04:32 +00:00
|
|
|
|
else
|
2023-04-28 06:55:16 +00:00
|
|
|
|
m_pageImageProc->m_ckbMultioutput = FALSE;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2022-11-15 03:55:44 +00:00
|
|
|
|
|
2023-04-28 06:55:16 +00:00
|
|
|
|
m_pageImageProc->m_ckbHSVCorrect = settings->hsvcorrect == TRUE ? TRUE : FALSE;//<2F><><EFBFBD><EFBFBD><E2BFA8><EFBFBD><EFBFBD>
|
2022-11-15 03:55:44 +00:00
|
|
|
|
m_pageImageProc->m_ckbHSVDetechNoise = settings->hsvFilter == TRUE ? TRUE : FALSE;
|
|
|
|
|
|
2023-04-28 06:55:16 +00:00
|
|
|
|
m_pageImageProc->GetDlgItem(IDC_CKMULTIOUTPUT)->EnableWindow(settings->pixtype == 2);//<2F><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>
|
2021-07-19 10:36:34 +00:00
|
|
|
|
((CButton*)m_pageImageProc->GetDlgItem(IDC_CKMULTIOUTPUT))->SetCheck(settings->pixtype == 2);
|
2020-03-11 01:58:06 +00:00
|
|
|
|
m_pageImageProc->UpdateData(FALSE);
|
2020-11-16 10:05:04 +00:00
|
|
|
|
m_pageFeedPaper->dogear.SetCheck(settings->is_dogeardetection);
|
2020-03-11 01:58:06 +00:00
|
|
|
|
//!< Page feed paper
|
2022-10-20 02:40:25 +00:00
|
|
|
|
if (settings->is_duplex || settings->is_autodiscradblank_normal || settings->is_autodiscradblank_vince)
|
2021-07-19 10:36:34 +00:00
|
|
|
|
{
|
2023-04-28 06:55:16 +00:00
|
|
|
|
m_pageFeedPaper->m_cbRotation = settings->is_backrotate180 == TRUE ? TRUE : FALSE;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת180
|
2021-07-19 10:36:34 +00:00
|
|
|
|
m_pageFeedPaper->GetDlgItem(IDC_CKBACKROTATION)->EnableWindow(settings->is_autotext ? FALSE : TRUE);
|
|
|
|
|
}
|
2020-06-20 03:04:32 +00:00
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
m_pageFeedPaper->GetDlgItem(IDC_CKBACKROTATION)->EnableWindow(FALSE);
|
|
|
|
|
m_pageFeedPaper->m_cbRotation = FALSE;
|
|
|
|
|
}
|
2023-04-28 06:55:16 +00:00
|
|
|
|
m_pageFeedPaper->m_cbStaple = settings->hardwarecaps.en_stapledetect == TRUE ? TRUE : FALSE;//װ<><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
m_pageFeedPaper->m_cbDoublePaper = settings->hardwarecaps.en_doublefeed == TRUE ? TRUE : FALSE;//˫<>ż<EFBFBD><C5BC><EFBFBD>
|
|
|
|
|
m_pageFeedPaper->m_cbSkew = settings->hardwarecaps.en_skrewdetect == TRUE ? TRUE : FALSE;//<2F><>б<EFBFBD><D0B1><EFBFBD><EFBFBD>
|
2021-12-16 08:21:35 +00:00
|
|
|
|
((CButton*)m_pageFeedPaper->GetDlgItem(IDC_CKAUTOPAPER))->SetCheck(settings->hardwarecaps.is_autopaper);
|
2022-10-20 02:40:25 +00:00
|
|
|
|
auto tmp_init_autopaper_timeout = {10,15,30,60};
|
|
|
|
|
auto tmp_autopaper_cmbindex = std::distance(tmp_init_autopaper_timeout.begin(),
|
|
|
|
|
std::find(tmp_init_autopaper_timeout.begin(), tmp_init_autopaper_timeout.end(), settings->autopaper_timeout));
|
|
|
|
|
((CComboBox*)m_pageFeedPaper->GetDlgItem(IDC_CMBAUTOPAPER))->SetCurSel(tmp_autopaper_cmbindex == tmp_init_autopaper_timeout.size() ? 0 : tmp_autopaper_cmbindex);
|
2023-04-28 06:55:16 +00:00
|
|
|
|
m_pageFeedPaper->m_cmBoxOrentation.SetCurSel(settings->is_autotext?4:getRotateCmbIndex(settings->imageRotateDegree));//<2F><>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>;
|
|
|
|
|
m_pageFeedPaper->m_sldSkrewDetecttion.SetPos(m_pageFeedPaper->m_cbSkew?settings->hardwarecaps.skrewdetectlevel:3);//<2F><>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD>
|
2020-07-07 01:55:33 +00:00
|
|
|
|
m_pageFeedPaper->m_sldSkrewDetecttion.EnableWindow(m_pageFeedPaper->m_cbSkew);
|
2021-11-20 03:09:04 +00:00
|
|
|
|
m_pageFeedPaper->m_slider_dogear.SetPos(settings->dogeardistance);
|
|
|
|
|
m_pageFeedPaper->m_slider_dogear.EnableWindow(((CButton*)m_pageFeedPaper->GetDlgItem(IDC_DogEarDetection))->GetCheck());
|
2021-02-03 10:21:45 +00:00
|
|
|
|
((CComboBox*)m_pageFeedPaper->GetDlgItem(IDC_CBLOWPOWERMODE))->SetCurSel(settings->hardwarecaps.lowpowermode);
|
2023-04-28 06:55:16 +00:00
|
|
|
|
if (settings->scannum == 65535 || settings->hardwarecaps.is_autopaper)//<2F><><EFBFBD><EFBFBD>ɨ<EFBFBD><C9A8>
|
2020-03-11 01:58:06 +00:00
|
|
|
|
{
|
|
|
|
|
m_pageFeedPaper->m_radioGroupScanMode = 0;
|
|
|
|
|
m_pageFeedPaper->GetDlgItem(IDC_EDSCANNUM)->SetWindowText(_T("1"));
|
|
|
|
|
m_pageFeedPaper->GetDlgItem(IDC_EDSCANNUM)->EnableWindow(FALSE);
|
|
|
|
|
}
|
2023-04-28 06:55:16 +00:00
|
|
|
|
else//ָ<><D6B8><EFBFBD><EFBFBD>Ŀ
|
2020-03-11 01:58:06 +00:00
|
|
|
|
{
|
|
|
|
|
m_pageFeedPaper->GetDlgItem(IDC_EDSCANNUM)->EnableWindow(TRUE);
|
|
|
|
|
m_pageFeedPaper->m_radioGroupScanMode = 1;
|
2020-06-20 03:04:32 +00:00
|
|
|
|
int tempcount = settings->scannum;
|
2020-03-11 01:58:06 +00:00
|
|
|
|
CString csCount;
|
2020-06-20 03:04:32 +00:00
|
|
|
|
csCount.Format(_T("%d"), settings->is_duplex==TRUE?tempcount/2: tempcount);
|
2020-03-11 01:58:06 +00:00
|
|
|
|
m_pageFeedPaper->GetDlgItem(IDC_EDSCANNUM)->SetWindowText(csCount);
|
|
|
|
|
}
|
2022-10-20 02:40:25 +00:00
|
|
|
|
if (settings->hardwarecaps.is_autopaper)
|
|
|
|
|
{
|
|
|
|
|
m_pageFeedPaper->GetDlgItem(IDC_CMBAUTOPAPER)->EnableWindow(TRUE);
|
|
|
|
|
m_pageFeedPaper->GetDlgItem(IDC_STATICAUTOPAPER)->EnableWindow(TRUE);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
m_pageFeedPaper->GetDlgItem(IDC_CMBAUTOPAPER)->EnableWindow(FALSE);
|
|
|
|
|
m_pageFeedPaper->GetDlgItem(IDC_STATICAUTOPAPER)->EnableWindow(FALSE);
|
|
|
|
|
}
|
2020-03-11 01:58:06 +00:00
|
|
|
|
|
|
|
|
|
m_pageFeedPaper->UpdateData(FALSE);
|
2020-05-16 01:59:44 +00:00
|
|
|
|
m_pageBasic->updateCmbDuplex(TRUE);
|
2021-07-19 10:36:34 +00:00
|
|
|
|
m_pageImageProc->ImageProcPageUpdate(m_pageBasic->m_cmBoxColorMode->GetCurSel(), m_pageBasic->m_cmBoxSS->GetCurSel(), m_pageBasic->m_cmBoxDuplex->GetCurSel(),
|
2022-06-29 12:24:24 +00:00
|
|
|
|
(getcombox_ss(m_pageBasic->m_cmBoxSS->GetCurSel()) == TwSS::USStatement) || (getcombox_ss(m_pageBasic->m_cmBoxSS->GetCurSel()) == TwSS::None),m_pageBasic->m_Slider_Dpi.m_iPosition);
|
2020-03-11 01:58:06 +00:00
|
|
|
|
}
|
|
|
|
|
|
2020-06-20 03:04:32 +00:00
|
|
|
|
void CTwainUI::UpdateFilterCmbx()
|
|
|
|
|
{
|
2020-12-17 09:02:33 +00:00
|
|
|
|
if (settings->pixtype == 2)
|
2020-06-20 03:04:32 +00:00
|
|
|
|
{
|
|
|
|
|
m_pageImageProc->m_cmBoxFilter.SetCurSel(0);
|
|
|
|
|
m_pageImageProc->m_cmBoxFilter.EnableWindow(FALSE);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
m_pageImageProc->m_cmBoxFilter.EnableWindow(TRUE);
|
|
|
|
|
int selectindex = 0;
|
|
|
|
|
if (settings->filter != 3)
|
|
|
|
|
{
|
|
|
|
|
selectindex = settings->filter == 0 ? 1 : (settings->filter == 1 ? 2 : 3);
|
|
|
|
|
}
|
|
|
|
|
else if(settings->enhance_color != Enchace_Color::Enhance_None)
|
|
|
|
|
{
|
|
|
|
|
selectindex = settings->enhance_color == Enchace_Color::Enhance_Red ? 4:(settings->enhance_color == Enchace_Color::Enhance_Green?5:6);
|
|
|
|
|
}
|
|
|
|
|
m_pageImageProc->m_cmBoxFilter.SetCurSel(selectindex);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CTwainUI::UpdateSharpenCmbx()
|
|
|
|
|
{
|
|
|
|
|
m_pageImageProc->m_cmBoxSharpen.EnableWindow(settings->pixtype != 0);
|
|
|
|
|
m_pageImageProc->m_cmBoxSharpen.SetCurSel(settings->pixtype == 0?0: settings->sharpen);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int CTwainUI::getCmbDuplexIndex()
|
|
|
|
|
{
|
|
|
|
|
int ret = 1;
|
|
|
|
|
if (settings->is_autodiscradblank_normal)
|
|
|
|
|
ret = 2;
|
|
|
|
|
else if (settings->is_autodiscradblank_vince)
|
|
|
|
|
ret = 3;
|
2020-07-11 10:43:17 +00:00
|
|
|
|
else if (settings->en_fold)
|
|
|
|
|
ret = 4;
|
2020-06-20 03:04:32 +00:00
|
|
|
|
else if(settings->is_duplex==FALSE)
|
|
|
|
|
ret = 0;
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
2021-02-03 10:21:45 +00:00
|
|
|
|
//int CTwainUI::getResolutionIndex(int resolution)
|
|
|
|
|
//{
|
|
|
|
|
// int result = 0;
|
|
|
|
|
// for (size_t i = 0; i < SUPPORTRESNUMS; i++)
|
|
|
|
|
// {
|
|
|
|
|
// if (Resolutions[i] == resolution)
|
|
|
|
|
// {
|
|
|
|
|
// result = i;
|
|
|
|
|
// break;
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// return result;
|
|
|
|
|
//}
|
2020-03-11 01:58:06 +00:00
|
|
|
|
|
2020-06-20 03:04:32 +00:00
|
|
|
|
int CTwainUI::getPaparSizeIndex(int papersize, int orentation)
|
2020-03-11 01:58:06 +00:00
|
|
|
|
{
|
2020-06-20 03:04:32 +00:00
|
|
|
|
PaperStatus ps((unsigned int)papersize, (unsigned int)orentation);
|
2020-03-11 01:58:06 +00:00
|
|
|
|
int result = 0;
|
|
|
|
|
for (std::map<int, PaperStatus>::iterator it = paperStatusMap.begin(); it != paperStatusMap.end(); it++) {
|
|
|
|
|
if (it->second.Paper == ps.Paper && it->second.Orentate == ps.Orentate) {
|
|
|
|
|
return it->first;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
2020-12-09 08:02:51 +00:00
|
|
|
|
TwSS CTwainUI::getcombox_ss(int index)
|
|
|
|
|
{
|
|
|
|
|
for (std::map<int, PaperStatus>::iterator it = paperStatusMap.begin(); it != paperStatusMap.end(); it++) {
|
|
|
|
|
if (it->first == index) {
|
|
|
|
|
return (TwSS)it->second.Paper;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return TwSS::A3;
|
|
|
|
|
}
|
|
|
|
|
|
2020-03-11 01:58:06 +00:00
|
|
|
|
int CTwainUI::getColorModelIndex(int pixtype)
|
|
|
|
|
{
|
|
|
|
|
return pixtype == 2 ? 0 : (pixtype == 1 ? 1 : 2);
|
|
|
|
|
}
|
|
|
|
|
|
2020-06-20 03:04:32 +00:00
|
|
|
|
int CTwainUI::getRotateCmbIndex(float res)
|
|
|
|
|
{
|
|
|
|
|
int ret = 0;
|
|
|
|
|
if (res == 90.0f)
|
|
|
|
|
ret = 1;
|
|
|
|
|
else if (res == 180.0f)
|
|
|
|
|
ret = 2;
|
|
|
|
|
else if (res == 270.0f)
|
|
|
|
|
ret = 3;
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
2020-03-11 01:58:06 +00:00
|
|
|
|
vector<CONFIGINFO> CTwainUI::getConfigFiles()
|
|
|
|
|
{
|
|
|
|
|
vector<CONFIGINFO> vc_cfi;
|
|
|
|
|
CFileFind find;
|
|
|
|
|
TCHAR cfFilePath[MAX_PATH] = { 0 };
|
|
|
|
|
SHGetSpecialFolderPath(NULL, cfFilePath, CSIDL_LOCAL_APPDATA, TRUE);
|
|
|
|
|
_tcscat(cfFilePath, HUAGAO_SCAN);
|
|
|
|
|
_tcscat(cfFilePath, TWAIN_DATA_PATH);
|
|
|
|
|
CString filePath(cfFilePath);
|
|
|
|
|
BOOL isFind = find.FindFile(filePath + _TEXT("/*.json"));
|
|
|
|
|
while (isFind)
|
|
|
|
|
{
|
|
|
|
|
isFind = find.FindNextFile();
|
|
|
|
|
if (find.IsDots())
|
|
|
|
|
{
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
CONFIGINFO cfi;
|
|
|
|
|
cfi.Caption = CW2A(find.GetFileTitle());
|
|
|
|
|
cfi.SavePath = CW2A(find.GetFilePath());
|
|
|
|
|
vc_cfi.push_back(cfi);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return vc_cfi;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static int WndCtrl2i(const CWnd* wnd)
|
|
|
|
|
{
|
|
|
|
|
CString valText;
|
|
|
|
|
wnd->GetWindowText(valText);
|
|
|
|
|
return _ttoi(valText);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static float WndCtrl2f(const CWnd* wnd)
|
|
|
|
|
{
|
|
|
|
|
CString valText;
|
|
|
|
|
wnd->GetWindowText(valText);
|
|
|
|
|
return (float)_ttof(valText);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template<typename T>
|
2020-06-20 03:04:32 +00:00
|
|
|
|
static T* GetCtrl(const CWnd* wnd, int nID)
|
2020-03-11 01:58:06 +00:00
|
|
|
|
{
|
|
|
|
|
return wnd->GetDlgCtrlID(nID);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
2023-04-28 06:55:16 +00:00
|
|
|
|
/*<2A><>UI<55><49>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>*/
|
2020-03-11 01:58:06 +00:00
|
|
|
|
void CTwainUI::UpDateScanParam(PCONFIGPARAMS configItem, bool updateDs)
|
|
|
|
|
{
|
|
|
|
|
//!< Page Basic
|
|
|
|
|
m_pageBasic->UpdateData();
|
2023-04-28 06:55:16 +00:00
|
|
|
|
configItem->Pixtype = m_pageBasic->m_cmBoxColorMode->GetCurSel() == 3 ? 0 : m_pageBasic->m_cmBoxColorMode->GetCurSel();//!< <20><>ɫģʽ index
|
2020-12-10 02:01:22 +00:00
|
|
|
|
configItem->EnSizeCheck = m_pageBasic->m_enableSizeCheck;
|
2023-04-28 06:55:16 +00:00
|
|
|
|
//configItem->Resolution = m_pageBasic->m_cmBoxResultion->GetCurSel();//!< <20>ֱ<EFBFBD><D6B1><EFBFBD> index
|
2021-02-03 10:21:45 +00:00
|
|
|
|
configItem->Resolution = m_pageBasic->m_Slider_Dpi.m_iPosition;
|
2023-04-28 06:55:16 +00:00
|
|
|
|
configItem->Duplex = m_pageBasic->m_cmBoxDuplex->GetCurSel();//!< <20><>˫<EFBFBD><CBAB>
|
|
|
|
|
configItem->PaperSize = m_pageBasic->m_cmBoxSS->GetCurSel();//!< ֽ<><D6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> index
|
2020-06-20 03:04:32 +00:00
|
|
|
|
configItem->EnSwitchFrontBack = m_pageBasic->m_bswitchfrontback == TRUE ? true : false;
|
2022-05-24 12:05:47 +00:00
|
|
|
|
settings->is_high_imagequality = ((CButton*)m_pageBasic->GetDlgItem(IDC_RDQUALITYPRIORITY))->GetCheck();
|
2023-04-28 06:55:16 +00:00
|
|
|
|
configItem->LowPowerMode = ((CComboBox*)m_pageFeedPaper->GetDlgItem(IDC_CBLOWPOWERMODE))->GetCurSel();//!<<3C><><EFBFBD><EFBFBD>ģʽ
|
2020-06-20 03:04:32 +00:00
|
|
|
|
PaperStatus page = paperStatusMap[configItem->PaperSize];
|
|
|
|
|
configItem->EnAutoCrop = page.Paper == TwSS::None;
|
2023-04-28 06:55:16 +00:00
|
|
|
|
configItem->EnDiscardBlank = configItem->Duplex == 2;//<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>ǿհ<C7BF>ҳͨ<D2B3><CDA8>
|
|
|
|
|
configItem->EnDiscardBlankVince = configItem->Duplex == 3;//<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>ǿհ<C7BF>ҳ<EFBFBD><D2B3>Ʊ
|
2020-04-18 03:18:06 +00:00
|
|
|
|
configItem->EnFlod = configItem->Duplex == 4;
|
2021-06-30 13:58:13 +00:00
|
|
|
|
#ifdef UV
|
|
|
|
|
configItem->EnUVModel = m_pageBasic->m_bUV;
|
|
|
|
|
#endif
|
2023-04-28 06:55:16 +00:00
|
|
|
|
//configItem->DBlank_AreaNum = m_pageBasic->AreaNum;//!< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
//configItem->DBlank_DevnMax = m_pageBasic->DevnMax;//!< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
2020-03-11 01:58:06 +00:00
|
|
|
|
|
|
|
|
|
//!< Page Breghtness
|
|
|
|
|
m_pageBrightness->UpdateData();
|
2023-04-28 06:55:16 +00:00
|
|
|
|
configItem->EnAutoContrast = m_pageBrightness->m_cbAutoContrast; //!< <20>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>ȶԱȶ<D4B1>
|
|
|
|
|
configItem->Brightness = (WndCtrl2i(&(m_pageBrightness->m_Edit_Brightness)) - 128)*(2000.0 / 254.0); //!< <20><><EFBFBD><EFBFBD>
|
2020-03-11 01:58:06 +00:00
|
|
|
|
int crtvalue = WndCtrl2i(&(m_pageBrightness->m_Edit_Contrast)) - 4;
|
2023-04-28 06:55:16 +00:00
|
|
|
|
configItem->Contrast = GetContrast(crtvalue);//!<<3C>Աȶ<D4B1>
|
2020-03-11 01:58:06 +00:00
|
|
|
|
configItem->Gamma = WndCtrl2f(&(m_pageBrightness->m_Edit_Gamma)); //!< gamma
|
|
|
|
|
|
|
|
|
|
//!< Page Proc
|
|
|
|
|
m_pageImageProc->UpdateData();
|
2023-04-28 06:55:16 +00:00
|
|
|
|
configItem->EnFillBlack = m_pageImageProc->m_ckbFillBlack;//<2F><><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD>
|
|
|
|
|
configItem->EnAutoDescrew = m_pageImageProc->m_ckbAutoDeskrew;//<2F>Զ<EFBFBD><D4B6><EFBFBD>ƫ
|
|
|
|
|
configItem->Filter = m_pageImageProc->m_cmBoxFilter.GetCurSel();//<2F><>ɫ
|
|
|
|
|
configItem->Sharpen = m_pageImageProc->m_cmBoxSharpen.GetCurSel();//<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
configItem->EnOutHole = m_pageImageProc->m_ckbRemoveHole;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><D7BF><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
configItem->OutHoleRatio = WndCtrl2f(&(m_pageImageProc->m_edit_hole)) * 100;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
|
|
|
|
|
|
|
|
|
|
configItem->EnMultiOutPutR = m_pageImageProc->m_ckbMultioutput;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
configItem->EnHsvCorrect = m_pageImageProc->m_ckbHSVCorrect;//<2F><><EFBFBD><EFBFBD><E2BFA8><EFBFBD><EFBFBD>
|
2022-11-15 03:55:44 +00:00
|
|
|
|
configItem->EnHsvFilterDetechNoise = m_pageImageProc->m_ckbHSVDetechNoise;
|
2020-03-11 01:58:06 +00:00
|
|
|
|
|
|
|
|
|
//!< Page feed paper
|
|
|
|
|
m_pageFeedPaper->UpdateData();
|
2023-04-28 06:55:16 +00:00
|
|
|
|
configItem->EnBackRotate180 = m_pageFeedPaper->m_cbRotation;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת180
|
|
|
|
|
configItem->EnBindingDetect = m_pageFeedPaper->m_cbStaple;//װ<><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
configItem->EnUltrasonicDetect = m_pageFeedPaper->m_cbDoublePaper;//˫<>ż<EFBFBD><C5BC><EFBFBD>
|
|
|
|
|
configItem->EnScrewDetect = m_pageFeedPaper->m_cbSkew;//<2F><>б<EFBFBD><D0B1><EFBFBD><EFBFBD>
|
|
|
|
|
configItem->Orentation = m_pageFeedPaper->m_cmBoxOrentation.GetCurSel();//<2F><>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>
|
2020-03-11 01:58:06 +00:00
|
|
|
|
|
|
|
|
|
int count = WndCtrl2i(&(m_pageFeedPaper->m_editNum));
|
|
|
|
|
if (count == 0)
|
|
|
|
|
{
|
|
|
|
|
m_pageFeedPaper->GetDlgItem(IDC_EDSCANNUM)->SetWindowText(_T("1"));
|
|
|
|
|
count = 1;
|
|
|
|
|
}
|
|
|
|
|
configItem->ScanCount = (m_pageFeedPaper->m_radioGroupScanMode == 0) ? -1 : count;
|
2023-04-28 06:55:16 +00:00
|
|
|
|
configItem->ScrewDetectLevel = m_pageFeedPaper->m_sldSkrewDetecttion.GetPos();//<2F><>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD>
|
2020-03-11 01:58:06 +00:00
|
|
|
|
|
|
|
|
|
if (!updateDs)
|
|
|
|
|
return;
|
|
|
|
|
|
2020-12-17 09:02:33 +00:00
|
|
|
|
settings->automaticcolor = m_pageBasic->m_cmBoxColorMode->GetCurSel() == 3 ? 1 : 0;
|
2020-06-20 03:04:32 +00:00
|
|
|
|
settings->pixtype = colorModes[configItem->Pixtype];
|
2020-12-17 09:02:33 +00:00
|
|
|
|
settings->hardwarecaps.capturepixtype = settings->pixtype == 2 ? 2 : settings->pixtype;
|
2020-03-11 01:58:06 +00:00
|
|
|
|
|
2020-06-20 03:04:32 +00:00
|
|
|
|
PaperStatus paper = paperStatusMap[configItem->PaperSize];
|
2020-03-11 01:58:06 +00:00
|
|
|
|
settings->papertype = paper.Paper;
|
|
|
|
|
settings->paperAlign = (PaperAlign)paper.Orentate;
|
2020-06-20 03:04:32 +00:00
|
|
|
|
|
2020-12-10 02:01:22 +00:00
|
|
|
|
settings->en_sizecheck = configItem->EnSizeCheck;
|
2022-05-24 12:05:47 +00:00
|
|
|
|
settings->en_fixedpaper = ((CButton*)m_pageBasic->GetDlgItem(IDC_CKFIXEDPAPER))->GetCheck();
|
2021-02-03 10:21:45 +00:00
|
|
|
|
//settings->resolution_dst = Resolutions[configItem->Resolution];
|
|
|
|
|
settings->resolution_dst = configItem->Resolution;
|
2020-03-11 01:58:06 +00:00
|
|
|
|
settings->resolution_native = 200.0f;
|
2021-12-16 08:21:35 +00:00
|
|
|
|
settings->is_split = ((CButton*)m_pageBasic->GetDlgItem(IDC_CKSPLIT))->GetCheck();
|
2023-01-04 06:30:50 +00:00
|
|
|
|
settings->is_colorcast = ((CButton*)m_pageBasic->GetDlgItem(IDC_CKCOLORCAST))->GetCheck();
|
2020-06-20 03:04:32 +00:00
|
|
|
|
settings->is_switchfrontback = configItem->EnSwitchFrontBack ? 1 : 0;
|
2020-03-11 01:58:06 +00:00
|
|
|
|
//float value_Contrast = GetContrast(configItem->Contrast);
|
|
|
|
|
settings->contrast = configItem->Contrast;
|
|
|
|
|
settings->brightness = (configItem->Brightness);
|
|
|
|
|
settings->gamma = (configItem->Gamma);
|
2021-07-19 10:36:34 +00:00
|
|
|
|
settings->normalCrop = ((CButton*)m_pageImageProc->GetDlgItem(IDC_CKCROPMODEL))->GetCheck();
|
2020-03-11 01:58:06 +00:00
|
|
|
|
settings->is_autocrop = paper.Paper == TwSS::None;
|
|
|
|
|
settings->is_duplex = configItem->Duplex >= 1;
|
|
|
|
|
settings->is_autodiscradblank_normal = configItem->Duplex == 2;
|
|
|
|
|
settings->is_autodiscradblank_vince = configItem->Duplex == 3;
|
|
|
|
|
//settings->areanum = configItem->DBlank_AreaNum;
|
|
|
|
|
//settings->devnmax = configItem->DBlank_DevnMax;
|
2020-11-16 10:05:04 +00:00
|
|
|
|
settings->discardblank_percent = m_pageBasic->discardblank_percent;
|
2021-06-30 13:58:13 +00:00
|
|
|
|
#ifdef UV
|
|
|
|
|
settings->hardwarecaps.en_uv = configItem->EnUVModel;
|
|
|
|
|
#endif
|
2023-04-28 06:55:16 +00:00
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD>
|
2020-03-11 01:58:06 +00:00
|
|
|
|
settings->fillbackground = configItem->EnFillBlack;
|
|
|
|
|
settings->autodescrew = configItem->EnAutoDescrew;
|
|
|
|
|
if (configItem->Orentation <= 3) {
|
|
|
|
|
settings->imageRotateDegree = rotateDegrees[configItem->Orentation];
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
settings->imageRotateDegree = 0.0f;
|
|
|
|
|
}
|
2020-12-09 08:02:51 +00:00
|
|
|
|
settings->AutoCrop_threshold = m_pageImageProc->threshold;
|
|
|
|
|
settings->noise = m_pageImageProc->noise;
|
|
|
|
|
settings->indent = m_pageImageProc->indent;
|
|
|
|
|
settings->is_convex = m_pageImageProc->is_convex;
|
2020-03-11 01:58:06 +00:00
|
|
|
|
settings->is_autotext = configItem->Orentation == 4;
|
2020-06-20 03:04:32 +00:00
|
|
|
|
settings->is_backrotate180 =configItem->EnBackRotate180;
|
2020-11-16 10:05:04 +00:00
|
|
|
|
settings->is_dogeardetection = m_pageFeedPaper->dogear.GetCheck();
|
2021-02-03 10:21:45 +00:00
|
|
|
|
settings->hardwarecaps.lowpowermode = (LowPowerMode)configItem->LowPowerMode;
|
2020-03-11 01:58:06 +00:00
|
|
|
|
settings->hardwarecaps.en_skrewdetect = configItem->EnScrewDetect;
|
2020-07-11 10:43:17 +00:00
|
|
|
|
settings->hardwarecaps.skrewdetectlevel = (int)configItem->ScrewDetectLevel;
|
2020-03-11 01:58:06 +00:00
|
|
|
|
settings->hardwarecaps.en_stapledetect = configItem->EnBindingDetect;
|
2021-12-16 08:21:35 +00:00
|
|
|
|
settings->hardwarecaps.is_autopaper = ((CButton*)m_pageFeedPaper->GetDlgItem(IDC_CKAUTOPAPER))->GetCheck();
|
2022-10-20 02:40:25 +00:00
|
|
|
|
CString tmp_autopaper_timeout;
|
|
|
|
|
m_pageFeedPaper->GetDlgItem(IDC_CMBAUTOPAPER)->GetWindowTextW(tmp_autopaper_timeout);
|
|
|
|
|
settings->autopaper_timeout = _wtoi(tmp_autopaper_timeout);
|
2020-03-11 01:58:06 +00:00
|
|
|
|
settings->hardwarecaps.en_doublefeed = configItem->EnUltrasonicDetect;
|
2021-11-20 03:09:04 +00:00
|
|
|
|
settings->dogeardistance = m_pageFeedPaper->m_slider_dogear.GetPos();
|
2020-06-20 03:04:32 +00:00
|
|
|
|
settings->en_fold = configItem->EnFlod ? 1 : 0;
|
|
|
|
|
if (configItem->ScanCount == -1)
|
|
|
|
|
settings->scannum = configItem->ScanCount;
|
|
|
|
|
else {
|
2023-04-28 06:55:16 +00:00
|
|
|
|
if (configItem->Duplex == 0)//<2F><><EFBFBD><EFBFBD>
|
2020-06-20 03:04:32 +00:00
|
|
|
|
settings->scannum = configItem->ScanCount;
|
|
|
|
|
else {
|
|
|
|
|
settings->scannum = configItem->ScanCount * 2;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (configItem->Filter) {
|
2020-03-11 01:58:06 +00:00
|
|
|
|
if (configItem->Filter <= 3) {
|
|
|
|
|
settings->filter = (byte)filterMaps[configItem->Filter];
|
2020-06-20 03:04:32 +00:00
|
|
|
|
settings->enhance_color = (byte)EnchaceColor::Enhance_None;
|
2020-03-11 01:58:06 +00:00
|
|
|
|
}
|
|
|
|
|
else {
|
2023-04-28 06:55:16 +00:00
|
|
|
|
settings->filter = 3;//<2F><><EFBFBD><EFBFBD>ɫ
|
2020-03-11 01:58:06 +00:00
|
|
|
|
settings->enhance_color = (byte)filterMaps[configItem->Filter];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
settings->filter = 3;
|
|
|
|
|
settings->enhance_color = (byte)EnchaceColor::Enhance_None;
|
|
|
|
|
}
|
2020-06-20 03:04:32 +00:00
|
|
|
|
|
2020-03-11 01:58:06 +00:00
|
|
|
|
settings->sharpen = configItem->Sharpen;
|
2020-06-20 03:04:32 +00:00
|
|
|
|
if (configItem->Filter != 0 || configItem->EnMultiOutPutR)
|
2020-03-11 01:58:06 +00:00
|
|
|
|
settings->hardwarecaps.capturepixtype = TWPT_RGB;
|
2020-12-09 08:02:51 +00:00
|
|
|
|
settings->detachnoise.is_detachnoise = m_pageImageProc->m_ckbDetachNoise;
|
|
|
|
|
settings->detachnoise.detachnoise = m_pageImageProc->m_slider_detachnoise.m_iPosition;
|
2022-02-14 02:30:19 +00:00
|
|
|
|
settings->fadeback = m_pageImageProc->m_ckbfadeback;
|
|
|
|
|
settings->fadeback_range = m_pageImageProc->m_slider_faderange.m_iPosition;
|
2020-03-11 01:58:06 +00:00
|
|
|
|
settings->fillhole.is_fillhole = configItem->EnOutHole;
|
|
|
|
|
settings->fillhole.fillholeratio = configItem->OutHoleRatio;
|
2022-09-20 01:08:11 +00:00
|
|
|
|
settings->fillholeratio_up = m_pageImageProc->m_fillhole_up;
|
|
|
|
|
settings->fillholeratio_down = m_pageImageProc->m_fillhole_down;
|
|
|
|
|
settings->fillholeratio_left = m_pageImageProc->m_fillhole_left;
|
|
|
|
|
settings->fillholeratio_right = m_pageImageProc->m_fillhole_right;
|
|
|
|
|
settings->en_fillholeratio_up = m_pageImageProc->m_en_fillhole_up;
|
|
|
|
|
settings->en_fillholeratio_down = m_pageImageProc->m_en_fillhole_down;
|
|
|
|
|
settings->en_fillholeratio_left = m_pageImageProc->m_en_fillhole_left;
|
|
|
|
|
settings->en_fillholeratio_right = m_pageImageProc->m_en_fillhole_right;
|
2020-03-11 01:58:06 +00:00
|
|
|
|
settings->multi_output_red = configItem->EnMultiOutPutR;
|
2022-05-24 12:05:47 +00:00
|
|
|
|
settings->en_multi_output = ((CButton*)m_pageImageProc->GetDlgItem(IDC_CHMULTIPUT))->GetCheck();
|
|
|
|
|
settings->multioutput = ((CComboBox*)m_pageImageProc->GetDlgItem(IDC_CMBMULTIOUT))->GetCurSel();
|
2020-06-23 09:31:43 +00:00
|
|
|
|
settings->hsvcorrect = configItem->EnHsvCorrect;
|
2022-11-15 03:55:44 +00:00
|
|
|
|
settings->hsvFilter = configItem->EnHsvFilterDetechNoise;
|
2020-04-03 01:31:18 +00:00
|
|
|
|
#ifdef REAL300DPI
|
|
|
|
|
settings->resolution_native = settings->resolution_dst > 240.0f ? 300.0f : 200.0f;
|
|
|
|
|
#else // REAL300DPI
|
|
|
|
|
settings->resolution_native = 200.0f;
|
|
|
|
|
#endif
|
2020-12-30 09:02:05 +00:00
|
|
|
|
if (settings->pixtype == TWPT_BW)
|
2021-07-19 10:36:34 +00:00
|
|
|
|
//{
|
|
|
|
|
// if (settings->filter == 3 && settings->enhance_color <=1)
|
|
|
|
|
// {
|
|
|
|
|
// settings->enhance_color = Enchace_Color::Enhance_Red;
|
|
|
|
|
// settings->filter = 3;//none
|
|
|
|
|
// }
|
|
|
|
|
//}
|
2020-03-11 01:58:06 +00:00
|
|
|
|
UpdateUi();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CTwainUI::UpdateListConfig()
|
|
|
|
|
{
|
|
|
|
|
((CListBox*)(GetDlgItem(IDC_LSTCONFIG)))->ResetContent();
|
|
|
|
|
if (cfi.size() > 0)
|
|
|
|
|
{
|
|
|
|
|
cfi.clear();
|
|
|
|
|
}
|
|
|
|
|
cfi = getConfigFiles();
|
|
|
|
|
for (int i = 0; i < cfi.size(); i++)
|
|
|
|
|
{
|
|
|
|
|
CString a;
|
|
|
|
|
a = cfi[i].Caption.c_str();
|
|
|
|
|
((CListBox*)(GetDlgItem(IDC_LSTCONFIG)))->AddString(a);
|
|
|
|
|
}
|
|
|
|
|
if (cfi.size() <= 0)
|
|
|
|
|
{
|
|
|
|
|
((CButton*)(GetDlgItem(IDC_BTNDELETCONFIG)))->EnableWindow(FALSE);
|
|
|
|
|
((CButton*)(GetDlgItem(IDC_BTNBACKUPCONFIG)))->EnableWindow(FALSE);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
((CButton*)(GetDlgItem(IDC_BTNDELETCONFIG)))->EnableWindow(TRUE);
|
|
|
|
|
((CButton*)(GetDlgItem(IDC_BTNBACKUPCONFIG)))->EnableWindow(TRUE);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2020-06-20 03:04:32 +00:00
|
|
|
|
void CTwainUI::GetGScanCap(GScanCap & cap)
|
|
|
|
|
{
|
|
|
|
|
cap = *settings;
|
|
|
|
|
}
|
|
|
|
|
|
2020-03-11 01:58:06 +00:00
|
|
|
|
void CTwainUI::UpdateUi()
|
|
|
|
|
{
|
2020-12-18 09:47:30 +00:00
|
|
|
|
m_pageImageProc->m_cmBoxFilter.EnableWindow((m_pageBasic->m_cmBoxColorMode->GetCurSel() != 0) && (m_pageBasic->m_cmBoxColorMode->GetCurSel() != 3));
|
2020-04-18 03:18:06 +00:00
|
|
|
|
INT dupindex = m_pageBasic->m_cmBoxDuplex->GetCurSel();
|
|
|
|
|
BOOL enableback = dupindex == 0 || dupindex == 4;
|
2021-07-19 10:36:34 +00:00
|
|
|
|
if ((dupindex==0)||(dupindex==4))
|
2020-04-18 03:18:06 +00:00
|
|
|
|
{
|
2021-07-19 10:36:34 +00:00
|
|
|
|
((CButton*)(m_pageFeedPaper->GetDlgItem(IDC_CKBACKROTATION)))->SetCheck(FALSE);
|
|
|
|
|
m_pageFeedPaper->GetDlgItem(IDC_CKBACKROTATION)->EnableWindow(FALSE);
|
2020-04-18 03:18:06 +00:00
|
|
|
|
}
|
2021-07-19 10:36:34 +00:00
|
|
|
|
else
|
|
|
|
|
m_pageFeedPaper->GetDlgItem(IDC_CKBACKROTATION)->EnableWindow(m_pageFeedPaper->m_cmBoxOrentation.GetCurSel()==4? FALSE:TRUE);
|
|
|
|
|
if (dupindex == 4) {
|
|
|
|
|
((CButton*)m_pageImageProc->GetDlgItem(IDC_CKAUTODESKREW))->SetCheck(TRUE);
|
|
|
|
|
((CButton*)m_pageImageProc->GetDlgItem(IDC_CKAUTODESKREW))->EnableWindow(FALSE);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
((CButton*)m_pageImageProc->GetDlgItem(IDC_CKAUTODESKREW))->EnableWindow(TRUE);
|
|
|
|
|
|
2020-06-20 03:04:32 +00:00
|
|
|
|
m_pageImageProc->GetDlgItem(IDC_SLDOUTHOLE)->EnableWindow(((CButton*)m_pageImageProc->GetDlgItem(IDC_CKREMOVEHOLE))->GetCheck() == TRUE);
|
|
|
|
|
m_pageFeedPaper->GetDlgItem(IDC_SLDDETECTLEVEL)->EnableWindow(((CButton*)m_pageFeedPaper->GetDlgItem(IDC_CKSKEWDETECT))->GetCheck() == TRUE);
|
2020-03-11 01:58:06 +00:00
|
|
|
|
m_pageImageProc->GetDlgItem(IDC_CKMULTIOUTPUT)->EnableWindow(m_pageBasic->m_cmBoxColorMode->GetCurSel() == 0);
|
2021-07-19 10:36:34 +00:00
|
|
|
|
if(m_pageBasic->m_cmBoxColorMode->GetCurSel() != 0)
|
|
|
|
|
((CButton*)m_pageImageProc->GetDlgItem(IDC_CKMULTIOUTPUT))->SetCheck(FALSE);
|
2020-03-11 01:58:06 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-06-21 11:38:36 +00:00
|
|
|
|
void CTwainUI::setvisable_size(bool flag)
|
|
|
|
|
{
|
|
|
|
|
m_pageBasic->GetDlgItem(IDC_CKBSIZEDETECT)->ShowWindow(flag?SW_SHOW:SW_HIDE);
|
|
|
|
|
if(!flag)
|
|
|
|
|
((CButton*)m_pageBasic->GetDlgItem(IDC_CKBSIZEDETECT))->SetCheck(false);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CTwainUI::setvisable_sleepmode(bool flag)
|
|
|
|
|
{
|
|
|
|
|
m_pageFeedPaper->GetDlgItem(IDC_STATICLOWPM)->ShowWindow(flag ? SW_SHOW : SW_HIDE);
|
|
|
|
|
m_pageFeedPaper->GetDlgItem(IDC_CBLOWPOWERMODE)->ShowWindow(flag ? SW_SHOW : SW_HIDE);
|
|
|
|
|
if (!flag)
|
|
|
|
|
((CComboBox*)m_pageFeedPaper->GetDlgItem(IDC_CBLOWPOWERMODE))->SetCurSel(0);
|
|
|
|
|
}
|
|
|
|
|
|
2021-11-20 03:09:04 +00:00
|
|
|
|
void CTwainUI::setvisable_dogear(bool flag)
|
|
|
|
|
{
|
|
|
|
|
m_pageFeedPaper->GetDlgItem(IDC_DogEarDetection)->ShowWindow(flag ? SW_SHOW : SW_HIDE);
|
|
|
|
|
m_pageFeedPaper->GetDlgItem(IDC_SLIDER_DOGEAR)->ShowWindow(flag ? SW_SHOW : SW_HIDE);
|
|
|
|
|
m_pageFeedPaper->GetDlgItem(IDC_LBSDL2)->ShowWindow(flag ? SW_SHOW : SW_HIDE);
|
|
|
|
|
m_pageFeedPaper->GetDlgItem(IDC_LBSDR2)->ShowWindow(flag ? SW_SHOW : SW_HIDE);
|
|
|
|
|
if (!flag)
|
|
|
|
|
((CButton*)m_pageFeedPaper->GetDlgItem(IDC_DogEarDetection))->SetCheck(false);
|
|
|
|
|
}
|
|
|
|
|
|
2021-12-16 08:21:35 +00:00
|
|
|
|
void CTwainUI::setvisable_autopaper(bool flag)
|
|
|
|
|
{
|
|
|
|
|
((CButton*)m_pageFeedPaper->GetDlgItem(IDC_CKAUTOPAPER))->ShowWindow(flag ? SW_SHOW : SW_HIDE);
|
2022-10-20 02:40:25 +00:00
|
|
|
|
m_pageFeedPaper->GetDlgItem(IDC_STATICAUTOPAPER)->ShowWindow(flag ? SW_SHOW : SW_HIDE);
|
|
|
|
|
m_pageFeedPaper->GetDlgItem(IDC_CMBAUTOPAPER)->ShowWindow(flag ? SW_SHOW : SW_HIDE);
|
2021-12-16 08:21:35 +00:00
|
|
|
|
if (!flag)
|
|
|
|
|
((CButton*)m_pageFeedPaper->GetDlgItem(IDC_CKAUTOPAPER))->SetCheck(false);
|
|
|
|
|
}
|
|
|
|
|
|
2022-05-24 12:05:47 +00:00
|
|
|
|
void CTwainUI::setvisable_fixedpaper(bool flag)
|
|
|
|
|
{
|
|
|
|
|
((CButton*)m_pageBasic->GetDlgItem(IDC_CKFIXEDPAPER))->ShowWindow(flag ? SW_SHOW : SW_HIDE);
|
|
|
|
|
if (!flag)
|
|
|
|
|
((CButton*)m_pageBasic->GetDlgItem(IDC_CKFIXEDPAPER))->SetCheck(false);
|
|
|
|
|
}
|
|
|
|
|
|
2020-03-11 01:58:06 +00:00
|
|
|
|
void CTwainUI::EnableID_OKorID_Cancel(bool enable)
|
|
|
|
|
{
|
|
|
|
|
GetDlgItem(IDC_CONFIRM)->EnableWindow(enable);
|
|
|
|
|
GetDlgItem(ID_CANCEL)->EnableWindow(enable);
|
|
|
|
|
GetDlgItem(IDC_BTNHELP)->EnableWindow(enable);
|
|
|
|
|
GetDlgItem(IDC_BTNDEFAULT)->EnableWindow(enable);
|
|
|
|
|
GetDlgItem(IDC_TAB)->EnableWindow(enable);
|
|
|
|
|
GetDlgItem(IDC_GROUP)->EnableWindow(enable);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void CTwainUI::OnBnClickedBtnbackupconfig()
|
|
|
|
|
{
|
2023-04-28 06:55:16 +00:00
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2020-03-11 01:58:06 +00:00
|
|
|
|
CString csFilters = _T("Json file(*.json)\0");
|
2023-04-28 06:55:16 +00:00
|
|
|
|
CFileDialog cfd(FALSE, _T("json"), _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ"));
|
2020-03-11 01:58:06 +00:00
|
|
|
|
cfd.m_ofn.lpstrTitle = _T("");
|
|
|
|
|
cfd.m_ofn.lpstrFilter = csFilters;
|
|
|
|
|
this->SetWindowPos(&wndNoTopMost, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
|
2020-06-20 03:04:32 +00:00
|
|
|
|
GscanJsonConfig js;
|
2020-03-11 01:58:06 +00:00
|
|
|
|
if (IDOK == cfd.DoModal())
|
|
|
|
|
{
|
2020-06-20 03:04:32 +00:00
|
|
|
|
vector<GScanCap> vc_tempOut;
|
2020-03-11 01:58:06 +00:00
|
|
|
|
std::vector<CONFIGINFO> temp_cfi = getConfigFiles();
|
|
|
|
|
for (int i = 0; i < temp_cfi.size(); i++)
|
|
|
|
|
{
|
2020-06-20 03:04:32 +00:00
|
|
|
|
vector<GScanCap> vc_item = js.ReadGscanCapsVector(temp_cfi[i].SavePath.c_str());
|
2020-03-11 01:58:06 +00:00
|
|
|
|
if (vc_item.size() > 0)
|
|
|
|
|
{
|
|
|
|
|
vc_tempOut.push_back(vc_item[0]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (vc_tempOut.size() > 0)
|
|
|
|
|
{
|
|
|
|
|
std::string path = (CW2A)cfd.GetPathName();
|
|
|
|
|
js.WriteJsonArrayToFile(vc_tempOut, path);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
this->SetWindowPos(&wndTopMost, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void CTwainUI::OnBnClickedBtnsaveconfig()
|
|
|
|
|
{
|
2023-04-28 06:55:16 +00:00
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2020-03-11 01:58:06 +00:00
|
|
|
|
CSaveConfigDlg sfd(this);
|
|
|
|
|
sfd.DoModal();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void CTwainUI::OnBnClickedBtndeletconfig()
|
|
|
|
|
{
|
2023-04-28 06:55:16 +00:00
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if (MessageBox(TEXT("ȷ<EFBFBD><EFBFBD>Ҫɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), TEXT("<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD>"), MB_YESNO | MB_ICONQUESTION) == IDYES)
|
2020-03-11 01:58:06 +00:00
|
|
|
|
{
|
|
|
|
|
int cursel = -1;
|
|
|
|
|
cursel = ((CListBox*)(GetDlgItem(IDC_LSTCONFIG)))->GetCurSel();
|
|
|
|
|
if (cursel != -1)
|
|
|
|
|
{
|
|
|
|
|
CFile file;
|
|
|
|
|
CString csFile;
|
|
|
|
|
csFile = cfi[cursel].SavePath.c_str();
|
|
|
|
|
file.Remove(csFile);
|
|
|
|
|
UpdateListConfig();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CTwainUI::OnBnClickedBtnrecoveryconfig()
|
|
|
|
|
{
|
2023-04-28 06:55:16 +00:00
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2020-03-11 01:58:06 +00:00
|
|
|
|
this->SetWindowPos(&wndNoTopMost, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
|
2023-04-28 06:55:16 +00:00
|
|
|
|
if (MessageBox(TEXT("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD>,<2C><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>ѱ<EFBFBD><D1B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ý<EFBFBD><C3BD><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), TEXT("<EFBFBD>ָ<EFBFBD>"), MB_YESNO | MB_ICONQUESTION) == IDYES)
|
2020-03-11 01:58:06 +00:00
|
|
|
|
{
|
2020-06-20 03:04:32 +00:00
|
|
|
|
GscanJsonConfig js;
|
2020-03-11 01:58:06 +00:00
|
|
|
|
CFileDialog ofd(TRUE,
|
|
|
|
|
_T(".json"),
|
|
|
|
|
NULL,
|
|
|
|
|
OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
|
|
|
|
|
_TEXT("Json Files (*.json)|*.json||)"),
|
|
|
|
|
NULL);
|
|
|
|
|
for (int i = 0; i < cfi.size(); i++)
|
|
|
|
|
{
|
|
|
|
|
DeleteFile((LPCWSTR)cfi[i].SavePath.c_str());
|
|
|
|
|
}
|
|
|
|
|
cfi.clear();
|
|
|
|
|
if (IDOK == ofd.DoModal())
|
|
|
|
|
{
|
|
|
|
|
std::string path = (CW2A)ofd.GetPathName();
|
2020-06-20 03:04:32 +00:00
|
|
|
|
vector<GScanCap> vc = js.ReadGscanCapsVector(path);
|
2020-03-11 01:58:06 +00:00
|
|
|
|
for (int i = 0; i < vc.size(); i++)
|
|
|
|
|
{
|
|
|
|
|
// js.WriteJsonArrayToFile(vc[i],vc[i].SavePath);
|
2020-06-20 03:04:32 +00:00
|
|
|
|
vector<GScanCap> vc_item;
|
2020-03-11 01:58:06 +00:00
|
|
|
|
vc_item.push_back(vc[i]);
|
|
|
|
|
js.WriteJsonArrayToFile(vc_item, vc[i].SavePath);
|
|
|
|
|
}
|
|
|
|
|
UpdateListConfig();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
this->SetWindowPos(&wndTopMost, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void CTwainUI::OnLbnSelchangeLstconfig()
|
|
|
|
|
{
|
2023-04-28 06:55:16 +00:00
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2020-03-11 01:58:06 +00:00
|
|
|
|
int index = -1;
|
|
|
|
|
index = ((CListBox*)(GetDlgItem(IDC_LSTCONFIG)))->GetCurSel();
|
|
|
|
|
if (index != -1)
|
|
|
|
|
{
|
2020-06-20 03:04:32 +00:00
|
|
|
|
GscanJsonConfig js;
|
2020-03-11 01:58:06 +00:00
|
|
|
|
//std::string savepath= cfi[index].SavePath;
|
2020-06-20 03:04:32 +00:00
|
|
|
|
std::vector<GScanCap> vc_temp;
|
|
|
|
|
vc_temp = js.ReadGscanCapsVector(cfi[index].SavePath);
|
2020-03-11 01:58:06 +00:00
|
|
|
|
if (vc_temp.size() > 0)
|
|
|
|
|
{
|
2020-06-20 03:04:32 +00:00
|
|
|
|
settings.reset(new GScanCap(vc_temp[0]));
|
|
|
|
|
UpdateUI();
|
2020-03-11 01:58:06 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2020-05-16 01:59:44 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void CTwainUI::OnClose()
|
|
|
|
|
{
|
2023-04-28 06:55:16 +00:00
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>ֵ
|
2020-05-16 01:59:44 +00:00
|
|
|
|
m_glue.m_cancel();
|
|
|
|
|
}
|
2020-09-21 01:25:46 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LRESULT CTwainUI::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
|
|
|
|
|
{
|
2023-04-28 06:55:16 +00:00
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD>ר<EFBFBD>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>
|
2020-09-21 01:25:46 +00:00
|
|
|
|
|
|
|
|
|
return CDialogEx::WindowProc(message, wParam, lParam);
|
|
|
|
|
}
|
2022-06-29 12:24:24 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void CTwainUI::OnNMClickTab(NMHDR* pNMHDR, LRESULT* pResult)
|
|
|
|
|
{
|
2023-04-28 06:55:16 +00:00
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2022-06-29 12:24:24 +00:00
|
|
|
|
//*pResult = 0;
|
|
|
|
|
m_pageImageProc->ImageProcPageUpdate(m_pageBasic->m_cmBoxColorMode->GetCurSel(), m_pageBasic->m_cmBoxSS->GetCurSel(), m_pageBasic->m_cmBoxDuplex->GetCurSel(),
|
|
|
|
|
(getcombox_ss(m_pageBasic->m_cmBoxSS->GetCurSel()) == TwSS::USStatement) || (getcombox_ss(m_pageBasic->m_cmBoxSS->GetCurSel()) == TwSS::None),
|
|
|
|
|
m_pageBasic->m_Slider_Dpi.m_iPosition);
|
|
|
|
|
|
|
|
|
|
}
|