2020-08-31 08:08:50 +00:00
|
|
|
|
|
2021-12-22 01:06:04 +00:00
|
|
|
|
// HuaGoCorrectDlg.cpp : ʵ<><CAB5><EFBFBD>ļ<EFBFBD>
|
2020-08-31 08:08:50 +00:00
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
#include "stdafx.h"
|
|
|
|
|
#include "HuaGoCorrect.h"
|
|
|
|
|
#include "HuaGoCorrectDlg.h"
|
|
|
|
|
#include "afxdialogex.h"
|
|
|
|
|
#include "scn_config.h"
|
|
|
|
|
#include <numeric>
|
|
|
|
|
#include "imageprocess.h"
|
2021-07-31 03:12:53 +00:00
|
|
|
|
#include <iostream>
|
|
|
|
|
#include <fstream>
|
|
|
|
|
#include "gscan3399.h"
|
|
|
|
|
#include "gscn_drv.h"
|
2020-08-31 08:08:50 +00:00
|
|
|
|
|
|
|
|
|
using namespace std;
|
|
|
|
|
|
|
|
|
|
#ifdef _DEBUG
|
|
|
|
|
#define new DEBUG_NEW
|
|
|
|
|
#endif
|
|
|
|
|
|
2021-12-22 01:06:04 +00:00
|
|
|
|
#define N_TIME_SEC 1000 //һ<><D2BB>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
#define N_TIME_SHOW 300 //0.2sˢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
2020-08-31 08:08:50 +00:00
|
|
|
|
#define N_TIMER_SEC 1
|
|
|
|
|
#define N_TIMER_SHOW 2
|
|
|
|
|
|
2021-12-22 01:06:04 +00:00
|
|
|
|
// <20><><EFBFBD><EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD><F2A1B0B9>ڡ<EFBFBD><DAA1>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD> CAboutDlg <20>Ի<EFBFBD><D4BB><EFBFBD>
|
2020-08-31 08:08:50 +00:00
|
|
|
|
|
|
|
|
|
class CAboutDlg : public CDialogEx
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
CAboutDlg();
|
|
|
|
|
|
2021-12-22 01:06:04 +00:00
|
|
|
|
// <20>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2020-08-31 08:08:50 +00:00
|
|
|
|
enum { IDD = IDD_ABOUTBOX };
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
protected:
|
2021-12-22 01:06:04 +00:00
|
|
|
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV ֧<><D6A7>
|
2020-08-31 08:08:50 +00:00
|
|
|
|
|
2021-12-22 01:06:04 +00:00
|
|
|
|
// ʵ<><CAB5>
|
2020-08-31 08:08:50 +00:00
|
|
|
|
protected:
|
|
|
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
|
|
|
|
|
{
|
|
|
|
|
CDialogEx::DoDataExchange(pDX);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx)
|
|
|
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
|
|
|
|
|
2021-12-22 01:06:04 +00:00
|
|
|
|
// CHuaGoCorrectDlg <20>Ի<EFBFBD><D4BB><EFBFBD>
|
2020-08-31 08:08:50 +00:00
|
|
|
|
|
|
|
|
|
CHuaGoCorrectDlg::CHuaGoCorrectDlg(CWnd* pParent /*=NULL*/)
|
|
|
|
|
: CDialogEx(CHuaGoCorrectDlg::IDD, pParent)
|
|
|
|
|
{
|
|
|
|
|
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
|
2021-07-31 03:12:53 +00:00
|
|
|
|
|
2020-08-31 08:08:50 +00:00
|
|
|
|
papercount = 0;
|
|
|
|
|
ls_flat = FALSE;
|
|
|
|
|
m_bExit = FALSE;
|
|
|
|
|
|
|
|
|
|
m_iPicIndex = 0;
|
|
|
|
|
m_iflatIndex = -2;
|
|
|
|
|
|
|
|
|
|
m_iDpiIndex = 0;
|
|
|
|
|
m_iColorIndex = 0;
|
|
|
|
|
|
|
|
|
|
b_review = FALSE;
|
2021-07-31 03:12:53 +00:00
|
|
|
|
b_suspend = FALSE;
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CHuaGoCorrectDlg::DoDataExchange(CDataExchange* pDX)
|
|
|
|
|
{
|
|
|
|
|
CDialogEx::DoDataExchange(pDX);
|
|
|
|
|
DDX_Control(pDX, IDC_TAB1, m_tab);
|
|
|
|
|
DDX_Control(pDX, IDC_dpi_comboBox, m_ComboxDpi);
|
|
|
|
|
DDX_Control(pDX, IDC_color_comboBox, m_ComboxColor);
|
2021-07-31 03:12:53 +00:00
|
|
|
|
DDX_Control(pDX, IDC_lsFpgaFlat, m_A4Scanner);
|
|
|
|
|
DDX_Control(pDX, IDC_CMB_USBS, m_Usbs);
|
2020-08-31 08:08:50 +00:00
|
|
|
|
DDX_Text(pDX, IDC_EDIT_HOUR, s_hour);
|
|
|
|
|
DDX_Text(pDX, IDC_EDIT_MINUTE, s_minute);
|
|
|
|
|
DDX_Text(pDX, IDC_EDIT_SECOND, s_second);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CHuaGoCorrectDlg, CDialogEx)
|
|
|
|
|
ON_WM_SYSCOMMAND()
|
|
|
|
|
ON_WM_PAINT()
|
|
|
|
|
ON_WM_QUERYDRAGICON()
|
|
|
|
|
ON_NOTIFY(TCN_SELCHANGE, IDC_TAB1, &CHuaGoCorrectDlg::OnTcnSelChangeTab)
|
|
|
|
|
ON_BN_CLICKED(IDC_CheckParamSet, &CHuaGoCorrectDlg::OnBnClickedCheckparamset)
|
|
|
|
|
ON_BN_CLICKED(IDC_CheckParamRead, &CHuaGoCorrectDlg::OnBnClickedCheckparamread)
|
|
|
|
|
ON_BN_CLICKED(IDC_BTN_FLAT, &CHuaGoCorrectDlg::OnBnClickedBtnFlat)
|
|
|
|
|
ON_CBN_SELCHANGE(IDC_dpi_comboBox, &CHuaGoCorrectDlg::OnCbnSelChangeDpi)
|
|
|
|
|
ON_CBN_SELCHANGE(IDC_color_comboBox, &CHuaGoCorrectDlg::OnCbnSelChangeColor)
|
2021-08-17 01:07:55 +00:00
|
|
|
|
ON_WM_TIMER()
|
2021-07-31 03:12:53 +00:00
|
|
|
|
ON_BN_CLICKED(IDC_BTN_SELECTFILE, &CHuaGoCorrectDlg::OnBnClickedBtnSelectfile)
|
|
|
|
|
ON_BN_CLICKED(IDC_BTN_UPDATE, &CHuaGoCorrectDlg::OnBnClickedBtnUpdate)
|
|
|
|
|
ON_BN_CLICKED(IDC_BTN_REFRESH, &CHuaGoCorrectDlg::OnBnClickedBtnRefresh)
|
|
|
|
|
ON_CBN_SELCHANGE(IDC_CMB_USBS, &CHuaGoCorrectDlg::OnCbnSelchangeCmbUsbs)
|
|
|
|
|
ON_BN_CLICKED(IDC_BTNSTART, &CHuaGoCorrectDlg::OnBnClickedBtnstart)
|
|
|
|
|
ON_BN_CLICKED(IDC_BTNSTOP, &CHuaGoCorrectDlg::OnBnClickedBtnstop)
|
2020-08-31 08:08:50 +00:00
|
|
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
|
|
|
|
|
2021-12-22 01:06:04 +00:00
|
|
|
|
// CHuaGoCorrectDlg <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2020-08-31 08:08:50 +00:00
|
|
|
|
|
|
|
|
|
BOOL CHuaGoCorrectDlg::OnInitDialog()
|
|
|
|
|
{
|
|
|
|
|
CDialogEx::OnInitDialog();
|
2021-12-22 01:06:04 +00:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...<2E><><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>ϵͳ<CFB5>˵<EFBFBD><CBB5>С<EFBFBD>
|
|
|
|
|
// IDM_ABOUTBOX <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD>Χ<EEB7B6>ڡ<EFBFBD>
|
2020-08-31 08:08:50 +00:00
|
|
|
|
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
|
|
|
|
|
ASSERT(IDM_ABOUTBOX < 0xF000);
|
|
|
|
|
CMenu* pSysMenu = GetSystemMenu(FALSE);
|
|
|
|
|
if (pSysMenu != NULL)
|
|
|
|
|
{
|
|
|
|
|
BOOL bNameValid;
|
|
|
|
|
CString strAboutMenu;
|
|
|
|
|
bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
|
|
|
|
|
ASSERT(bNameValid);
|
|
|
|
|
if (!strAboutMenu.IsEmpty())
|
|
|
|
|
{
|
|
|
|
|
pSysMenu->AppendMenu(MF_SEPARATOR);
|
|
|
|
|
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2021-12-22 01:06:04 +00:00
|
|
|
|
// <20><><EFBFBD>ô˶Ի<CBB6><D4BB><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD>ꡣ<EFBFBD><EAA1A3>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2>ǶԻ<C7B6><D4BB><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ܽ<EFBFBD><DCBD>Զ<EFBFBD>
|
|
|
|
|
// ִ<>д˲<D0B4><CBB2><EFBFBD>
|
|
|
|
|
SetIcon(m_hIcon, TRUE); // <20><><EFBFBD>ô<EFBFBD>ͼ<EFBFBD><CDBC>
|
|
|
|
|
SetIcon(m_hIcon, FALSE); // <20><><EFBFBD><EFBFBD>Сͼ<D0A1><CDBC>
|
|
|
|
|
|
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
m_tab.InsertItem(0, _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
|
|
|
|
|
m_tab.InsertItem(1, _T("<EFBFBD><EFBFBD>ʾͼ<EFBFBD><EFBFBD>"));
|
|
|
|
|
m_tab.InsertItem(2, _T("CIS<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
|
|
|
|
|
m_A4Dlg.Create(IDD_A4_DIALOG, &m_tab); // <20><><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD>ǩҳ
|
|
|
|
|
m_VisonDlg.Create(IDD_VISION_DIALOG, &m_tab); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǩҳ
|
2021-07-31 03:12:53 +00:00
|
|
|
|
m_A3dlg.Create(IDD_A3_DIALOG, &m_tab);
|
|
|
|
|
m_A4Dlg.SetParent(this);
|
|
|
|
|
m_VisonDlg.SetParent(this);
|
|
|
|
|
m_A3dlg.SetParent(this);
|
|
|
|
|
auto callback = [this](bool stoped, int num) {
|
|
|
|
|
if (stoped)
|
|
|
|
|
{
|
|
|
|
|
KillTimer(N_TIMER_SEC);
|
|
|
|
|
KillTimer(N_TIMER_SHOW);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
CString str;
|
2021-08-17 01:07:55 +00:00
|
|
|
|
str.Format(L"%d", num);
|
2021-07-31 03:12:53 +00:00
|
|
|
|
SetDlgItemText(IDC_STATIC_NUM, str);
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
m_VisonDlg.SetCallBack(callback);
|
2020-08-31 08:08:50 +00:00
|
|
|
|
|
2021-12-22 01:06:04 +00:00
|
|
|
|
m_tab.GetClientRect(&tabRect); // <20><>ȡ<EFBFBD><C8A1>ǩ<EFBFBD>ؼ<EFBFBD><D8BC>ͻ<EFBFBD><CDBB><EFBFBD>Rect
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>tabRect<63><74>ʹ<EFBFBD>串<EFBFBD>Ƿ<EFBFBD>Χ<EFBFBD>ʺϷ<CABA><CFB7>ñ<EFBFBD>ǩҳ
|
2021-10-20 05:07:11 +00:00
|
|
|
|
tabRect.left += 0;
|
|
|
|
|
tabRect.right -= 0;
|
|
|
|
|
tabRect.top += 100;
|
|
|
|
|
tabRect.bottom -= 50;
|
2020-08-31 08:08:50 +00:00
|
|
|
|
|
2021-12-22 01:06:04 +00:00
|
|
|
|
// <20><><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD>õ<EFBFBD>tabRect<63><74><EFBFBD><EFBFBD>m_A3Dlg<6C>ӶԻ<D3B6><D4BB><EFBFBD><F2A3ACB2><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>ʾ
|
2021-07-31 03:12:53 +00:00
|
|
|
|
m_A3dlg.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW);
|
2021-12-22 01:06:04 +00:00
|
|
|
|
// <20><><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD>õ<EFBFBD>tabRect<63><74><EFBFBD><EFBFBD>m_A4Dlg<6C>ӶԻ<D3B6><D4BB><EFBFBD><F2A3ACB2><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
|
2021-07-31 03:12:53 +00:00
|
|
|
|
m_A4Dlg.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_SHOWWINDOW);
|
2021-12-22 01:06:04 +00:00
|
|
|
|
// <20><><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD>õ<EFBFBD>tabRect<63><74><EFBFBD><EFBFBD>m_VisonDlg<6C>ӶԻ<D3B6><D4BB><EFBFBD><F2A3ACB2><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
|
2021-07-31 03:12:53 +00:00
|
|
|
|
m_VisonDlg.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW);
|
2020-08-31 08:08:50 +00:00
|
|
|
|
|
2022-01-26 09:05:59 +00:00
|
|
|
|
m_ComboxDpi.InsertString(0, _T("200"));
|
|
|
|
|
m_ComboxDpi.InsertString(1, _T("300"));
|
|
|
|
|
m_ComboxDpi.InsertString(2, _T("600"));
|
|
|
|
|
m_ComboxDpi.SetCurSel(0);
|
2020-08-31 08:08:50 +00:00
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
m_ComboxColor.InsertString(0, _T("gray"));
|
|
|
|
|
m_ComboxColor.InsertString(1, _T("color"));
|
|
|
|
|
m_ComboxColor.SetCurSel(1);
|
2020-08-31 08:08:50 +00:00
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
m_A4Scanner.SetCheck(0);
|
2020-08-31 08:08:50 +00:00
|
|
|
|
n_hour = 0;
|
|
|
|
|
n_minute = 0;
|
|
|
|
|
n_second = 0;
|
|
|
|
|
s_hour = "00";
|
|
|
|
|
s_minute = "00";
|
|
|
|
|
s_second = "00";
|
|
|
|
|
UpdateData(FALSE);
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
bool ret = RefreshUSBList();
|
|
|
|
|
if (ret)
|
|
|
|
|
{
|
2021-12-22 01:06:04 +00:00
|
|
|
|
m_Usbs.SetCurSel(0);//Ĭ<><C4AC>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>豸
|
2021-07-31 03:12:53 +00:00
|
|
|
|
OnCbnSelchangeCmbUsbs();
|
|
|
|
|
}
|
|
|
|
|
m_tab.SetCurSel(0);
|
|
|
|
|
RefreshTabChange();
|
2021-12-22 01:06:04 +00:00
|
|
|
|
return TRUE; // <20><><EFBFBD>ǽ<EFBFBD><C7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5>ؼ<EFBFBD><D8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TRUE
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
void CHuaGoCorrectDlg::EnableUIItem(bool enbale)
|
|
|
|
|
{
|
|
|
|
|
GetDlgItem(IDC_CMB_USBS)->EnableWindow(enbale);
|
|
|
|
|
GetDlgItem(IDC_BTNSTART)->EnableWindow(enbale);
|
|
|
|
|
GetDlgItem(IDC_BTNSTOP)->EnableWindow(enbale);
|
|
|
|
|
GetDlgItem(IDC_CheckParamSet)->EnableWindow(enbale);
|
|
|
|
|
GetDlgItem(IDC_CheckParamRead)->EnableWindow(enbale);
|
|
|
|
|
GetDlgItem(IDC_BTN_FLAT)->EnableWindow(enbale);
|
|
|
|
|
GetDlgItem(IDC_BTN_SELECTFILE)->EnableWindow(enbale);
|
|
|
|
|
GetDlgItem(IDC_BTN_UPDATE)->EnableWindow(enbale);
|
|
|
|
|
m_A4Dlg.EnableItem(enbale);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool CHuaGoCorrectDlg::RefreshUSBList()
|
|
|
|
|
{
|
|
|
|
|
auto ret = UsbScan_List::find_all_usb();
|
|
|
|
|
if (m_Usbs.GetCount() > 0)
|
|
|
|
|
m_Usbs.ResetContent();
|
|
|
|
|
if (ret.size() <= 0)
|
|
|
|
|
{
|
|
|
|
|
EnableUIItem(false);
|
2021-12-22 01:06:04 +00:00
|
|
|
|
MessageBox(TEXT("δ<EFBFBD>ҵ<EFBFBD>ɨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), TEXT("<EFBFBD><EFBFBD>ʾ"), MB_OK | MB_ICONWARNING);
|
2021-07-31 03:12:53 +00:00
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
EnableUIItem(true);
|
|
|
|
|
auto info = ret.begin();
|
|
|
|
|
int i = 0;
|
|
|
|
|
while (info != ret.end())
|
|
|
|
|
{
|
|
|
|
|
CString strinfo;
|
2021-08-17 01:07:55 +00:00
|
|
|
|
strinfo.Format(L"vid0x%x pid0X%x", info->vid, info->pid);
|
2021-07-31 03:12:53 +00:00
|
|
|
|
m_Usbs.InsertString(i, strinfo);
|
|
|
|
|
info++;
|
|
|
|
|
i++;
|
|
|
|
|
}
|
|
|
|
|
m_Usbs.SetCurSel(0);
|
|
|
|
|
OnCbnSelchangeCmbUsbs();
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
2020-08-31 08:08:50 +00:00
|
|
|
|
void CHuaGoCorrectDlg::OnSysCommand(UINT nID, LPARAM lParam)
|
|
|
|
|
{
|
|
|
|
|
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
|
|
|
|
|
{
|
|
|
|
|
CAboutDlg dlgAbout;
|
|
|
|
|
dlgAbout.DoModal();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
CDialogEx::OnSysCommand(nID, lParam);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2021-12-22 01:06:04 +00:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>ť<EFBFBD><C5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>Ƹ<EFBFBD>ͼ<EFBFBD>ꡣ<EFBFBD><EAA1A3><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>ĵ<EFBFBD>/<2F><>ͼģ<CDBC>͵<EFBFBD> MFC Ӧ<>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// <20>⽫<EFBFBD>ɿ<EFBFBD><C9BF><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>ɡ<EFBFBD>
|
2020-08-31 08:08:50 +00:00
|
|
|
|
|
|
|
|
|
void CHuaGoCorrectDlg::OnPaint()
|
|
|
|
|
{
|
|
|
|
|
if (IsIconic())
|
|
|
|
|
{
|
2021-12-22 01:06:04 +00:00
|
|
|
|
CPaintDC dc(this); // <20><><EFBFBD>ڻ<EFBFBD><DABB>Ƶ<EFBFBD><C6B5>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2020-08-31 08:08:50 +00:00
|
|
|
|
|
|
|
|
|
SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
|
|
|
|
|
|
2021-12-22 01:06:04 +00:00
|
|
|
|
// ʹͼ<CAB9><CDBC><EFBFBD>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>о<EFBFBD><D0BE><EFBFBD>
|
2020-08-31 08:08:50 +00:00
|
|
|
|
int cxIcon = GetSystemMetrics(SM_CXICON);
|
|
|
|
|
int cyIcon = GetSystemMetrics(SM_CYICON);
|
|
|
|
|
CRect rect;
|
|
|
|
|
GetClientRect(&rect);
|
|
|
|
|
int x = (rect.Width() - cxIcon + 1) / 2;
|
|
|
|
|
int y = (rect.Height() - cyIcon + 1) / 2;
|
2021-07-31 03:12:53 +00:00
|
|
|
|
|
2021-12-22 01:06:04 +00:00
|
|
|
|
// <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
|
2020-08-31 08:08:50 +00:00
|
|
|
|
dc.DrawIcon(x, y, m_hIcon);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
CDialogEx::OnPaint();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2021-12-22 01:06:04 +00:00
|
|
|
|
//<2F><><EFBFBD>û<EFBFBD><C3BB>϶<EFBFBD><CFB6><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱϵͳ<CFB5><CDB3><EFBFBD>ô˺<C3B4><CBBA><EFBFBD>ȡ<EFBFBD>ù<EFBFBD><C3B9><EFBFBD>
|
|
|
|
|
//<2F><>ʾ<EFBFBD><CABE>
|
2020-08-31 08:08:50 +00:00
|
|
|
|
HCURSOR CHuaGoCorrectDlg::OnQueryDragIcon()
|
|
|
|
|
{
|
|
|
|
|
return static_cast<HCURSOR>(m_hIcon);
|
|
|
|
|
}
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
void CHuaGoCorrectDlg::OnTcnSelChangeTab(NMHDR* pNMHDR, LRESULT* pResult)
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
2021-12-22 01:06:04 +00:00
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2020-08-31 08:08:50 +00:00
|
|
|
|
*pResult = 0;
|
2021-07-31 03:12:53 +00:00
|
|
|
|
RefreshTabChange();
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CHuaGoCorrectDlg::RefreshTabChange()
|
|
|
|
|
{
|
2021-12-22 01:06:04 +00:00
|
|
|
|
CRect tabRect; // <20><>ǩ<EFBFBD>ؼ<EFBFBD><D8BC>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>Rect
|
2020-08-31 08:08:50 +00:00
|
|
|
|
|
2021-12-22 01:06:04 +00:00
|
|
|
|
// <20><>ȡ<EFBFBD><C8A1>ǩ<EFBFBD>ؼ<EFBFBD><D8BC>ͻ<EFBFBD><CDBB><EFBFBD>Rect<63><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʺϷ<CABA><CFB7>ñ<EFBFBD>ǩҳ
|
2020-08-31 08:08:50 +00:00
|
|
|
|
m_tab.GetClientRect(&tabRect);
|
2021-10-20 05:07:11 +00:00
|
|
|
|
tabRect.left += 0;
|
2021-12-17 03:53:16 +00:00
|
|
|
|
tabRect.right += 10;
|
|
|
|
|
tabRect.top += 35;
|
|
|
|
|
tabRect.bottom += 10;
|
2021-07-31 03:12:53 +00:00
|
|
|
|
|
|
|
|
|
switch (m_tab.GetCurSel())
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
|
|
|
|
case 0:
|
|
|
|
|
m_A4Dlg.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_SHOWWINDOW);
|
2021-07-31 03:12:53 +00:00
|
|
|
|
m_VisonDlg.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW);
|
|
|
|
|
m_A3dlg.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW);
|
2020-08-31 08:08:50 +00:00
|
|
|
|
break;
|
2021-07-31 03:12:53 +00:00
|
|
|
|
case 1:
|
2020-08-31 08:08:50 +00:00
|
|
|
|
m_A4Dlg.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW);
|
2021-07-31 03:12:53 +00:00
|
|
|
|
m_VisonDlg.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_SHOWWINDOW);
|
|
|
|
|
m_A3dlg.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW);
|
2020-08-31 08:08:50 +00:00
|
|
|
|
break;
|
2021-07-31 03:12:53 +00:00
|
|
|
|
case 2:
|
2020-08-31 08:08:50 +00:00
|
|
|
|
m_A4Dlg.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW);
|
2021-07-31 03:12:53 +00:00
|
|
|
|
m_VisonDlg.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW);
|
|
|
|
|
m_A3dlg.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_SHOWWINDOW);
|
2020-08-31 08:08:50 +00:00
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CHuaGoCorrectDlg::Scan()
|
2021-07-31 03:12:53 +00:00
|
|
|
|
{
|
|
|
|
|
HGScanConfig config = { 0 };
|
2021-12-22 01:06:04 +00:00
|
|
|
|
if (m_drv->PID == 0x0139 ||
|
|
|
|
|
m_drv->PID == 0x0239 ||
|
|
|
|
|
m_drv->PID == 0x8739 ||
|
|
|
|
|
m_drv->PID == 0x8629)
|
2021-10-18 08:30:13 +00:00
|
|
|
|
{
|
2022-01-26 09:05:59 +00:00
|
|
|
|
config.g200params.dpi = m_iDpiIndex==0?1:(m_iDpiIndex==1?2:3);//only support 200DPI
|
|
|
|
|
config.g200params.paper = 16;
|
2021-10-18 08:30:13 +00:00
|
|
|
|
config.g200params.pc_correct = ((CButton*)GetDlgItem(IDC_CKBORGINIMG))->GetCheck();
|
|
|
|
|
config.g200params.color = m_iColorIndex == 1 ? 1 : 0;
|
|
|
|
|
config.g200params.double_feed_enbale = TRUE;
|
|
|
|
|
config.g200params.screw_detect_enable = FALSE;
|
2021-12-22 01:06:04 +00:00
|
|
|
|
config.g200params.iscorrect_mode = 1;//У<><D0A3>ģʽ
|
2021-10-18 08:30:13 +00:00
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
2022-01-26 09:05:59 +00:00
|
|
|
|
config.g400params.dpi = m_iDpiIndex == 0 ? 1 : (m_iDpiIndex == 1 ? 2 : 3);//only support 200DPI ;// 1;//only support 200DPI
|
2021-10-18 08:30:13 +00:00
|
|
|
|
config.g400params.pageSize = 0;
|
|
|
|
|
config.g400params.isCorrect = !((CButton*)GetDlgItem(IDC_CKBORGINIMG))->GetCheck();
|
2022-04-12 09:44:41 +00:00
|
|
|
|
config.g400params.lutmode = ((CButton*)GetDlgItem(IDC_CKBLUTMODE))->GetCheck();
|
2021-10-18 08:30:13 +00:00
|
|
|
|
config.g400params.isColor = m_iColorIndex == 1 ? 1 : 0;
|
|
|
|
|
config.g400params.doubleFeeded = TRUE;
|
|
|
|
|
config.g400params.enableStable = FALSE;
|
2021-12-22 01:06:04 +00:00
|
|
|
|
config.g400params.reversed1 = 0;//У<><D0A3>ģʽ
|
2021-10-18 08:30:13 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
m_drv->Config_Scanner(config);
|
|
|
|
|
this_thread::sleep_for(std::chrono::milliseconds(1000));
|
2020-08-31 08:08:50 +00:00
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
m_drv->Scanner_StartScan(-1);
|
|
|
|
|
m_drv->run();
|
2020-08-31 08:08:50 +00:00
|
|
|
|
|
2021-08-17 01:07:55 +00:00
|
|
|
|
if (b_suspend)
|
|
|
|
|
KillTimer(N_TIMER_SEC);
|
2020-08-31 08:08:50 +00:00
|
|
|
|
|
2021-08-17 01:07:55 +00:00
|
|
|
|
b_suspend = FALSE;
|
|
|
|
|
n_hour = 0;
|
|
|
|
|
n_minute = 0;
|
|
|
|
|
n_second = 0;
|
|
|
|
|
SetTimer(N_TIMER_SEC, N_TIME_SEC, NULL);
|
|
|
|
|
SetTimer(N_TIMER_SHOW, N_TIME_SHOW, NULL);
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void CHuaGoCorrectDlg::OnBnClickedCheckparamset()
|
|
|
|
|
{
|
2021-12-22 01:06:04 +00:00
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2020-08-31 08:08:50 +00:00
|
|
|
|
if (!m_drv->IsConnected())
|
|
|
|
|
{
|
2021-12-22 01:06:04 +00:00
|
|
|
|
MessageBox(TEXT("ɨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
|
2020-08-31 08:08:50 +00:00
|
|
|
|
return;
|
|
|
|
|
}
|
2021-07-31 03:12:53 +00:00
|
|
|
|
m_A4Dlg.SendCorrectParam();
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void CHuaGoCorrectDlg::OnBnClickedCheckparamread()
|
|
|
|
|
{
|
2021-12-22 01:06:04 +00:00
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2020-08-31 08:08:50 +00:00
|
|
|
|
if (!m_drv->IsConnected())
|
|
|
|
|
{
|
2021-12-22 01:06:04 +00:00
|
|
|
|
MessageBox(TEXT("ɨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
|
2020-08-31 08:08:50 +00:00
|
|
|
|
return;
|
|
|
|
|
}
|
2021-07-31 03:12:53 +00:00
|
|
|
|
m_tab.SetCurSel(0);
|
|
|
|
|
auto read = m_drv->GetFlatData();
|
|
|
|
|
m_A4Dlg.updateA4Config(read);
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CHuaGoCorrectDlg::OnBnClickedBtnFlat()
|
|
|
|
|
{
|
2021-12-22 01:06:04 +00:00
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2020-08-31 08:08:50 +00:00
|
|
|
|
m_iflatIndex = -2;
|
|
|
|
|
if (!m_drv->IsConnected())
|
|
|
|
|
{
|
2021-12-22 01:06:04 +00:00
|
|
|
|
MessageBox(TEXT("ɨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
|
2020-08-31 08:08:50 +00:00
|
|
|
|
return;
|
|
|
|
|
}
|
2021-07-31 03:12:53 +00:00
|
|
|
|
if (GetDlgItem(IDC_CKBCORRECTMODE)->IsWindowVisible())
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
2021-08-17 01:07:55 +00:00
|
|
|
|
m_tab.SetCurSel(2);
|
|
|
|
|
RefreshTabChange();
|
|
|
|
|
((CEdit*)(m_A3dlg.GetDlgItem(IDC_LSTFLATINFO)))->Clear();
|
|
|
|
|
auto flatcall = [&](string info) {
|
|
|
|
|
USES_CONVERSION;
|
|
|
|
|
std::string c_str = StringToUtf(info);
|
|
|
|
|
CString pWideChar = A2T(c_str.c_str());
|
|
|
|
|
CString oldinfo;
|
2021-10-18 08:30:13 +00:00
|
|
|
|
UpdateData(FALSE);
|
2021-08-17 01:07:55 +00:00
|
|
|
|
((CEdit*)(m_A3dlg.GetDlgItem(IDC_LSTFLATINFO)))->GetWindowText(oldinfo);
|
|
|
|
|
oldinfo += pWideChar;
|
|
|
|
|
((CEdit*)(m_A3dlg.GetDlgItem(IDC_LSTFLATINFO)))->SetWindowText(oldinfo);
|
2021-12-22 01:06:04 +00:00
|
|
|
|
auto edit = ((CEdit*)(m_A3dlg.GetDlgItem(IDC_LSTFLATINFO)));
|
|
|
|
|
edit->LineScroll(edit->GetLineCount());
|
2021-08-17 01:07:55 +00:00
|
|
|
|
};
|
|
|
|
|
m_drv->SetFlatCallback(flatcall);
|
2021-07-31 03:12:53 +00:00
|
|
|
|
m_drv->StartFlat(((CButton*)GetDlgItem(IDC_CKBCORRECTMODE))->GetCheck());
|
2021-08-17 01:07:55 +00:00
|
|
|
|
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
else
|
2021-12-22 01:06:04 +00:00
|
|
|
|
m_drv->StartFlat(true);//<2F><>ɫ
|
2021-07-31 03:12:53 +00:00
|
|
|
|
}
|
2020-08-31 08:08:50 +00:00
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
void CHuaGoCorrectDlg::WriteLog(CString msg)
|
|
|
|
|
{
|
|
|
|
|
if (!msg.IsEmpty())
|
|
|
|
|
{
|
2021-08-17 01:07:55 +00:00
|
|
|
|
//FILE* pFile = fopen(".//log//CorrectLog.log", "a+");
|
|
|
|
|
//if (pFile != NULL)
|
|
|
|
|
//{
|
|
|
|
|
// char cTime[32];
|
|
|
|
|
// CTime currTime = CTime::GetCurrentTime();
|
|
|
|
|
// _snprintf(cTime, 30, "[%04d-%02d-%02d %02d:%02d:%02d]",
|
|
|
|
|
// currTime.GetYear(), currTime.GetMonth(), currTime.GetDay(),
|
|
|
|
|
// currTime.GetHour(), currTime.GetMinute(), currTime.GetSecond());
|
|
|
|
|
// fwrite(cTime, 1, strlen(cTime), pFile);
|
|
|
|
|
// fwrite(msg, 1, strlen(msg.GetBuffer()), pFile);
|
|
|
|
|
// fwrite("\n", 1, 1, pFile);
|
|
|
|
|
// fclose(pFile);
|
|
|
|
|
//}
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
void CHuaGoCorrectDlg::OnCancel()
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
2021-12-22 01:06:04 +00:00
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD>ר<EFBFBD>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>
|
|
|
|
|
if (IDOK != AfxMessageBox(L"ȷ<EFBFBD><EFBFBD>Ҫ<EFBFBD>˳<EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", MB_ICONQUESTION | MB_OKCANCEL))
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
m_bExit = TRUE;
|
|
|
|
|
CDialogEx::OnCancel();
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
|
|
|
|
|
void CHuaGoCorrectDlg::InitButton()
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
2021-07-31 03:12:53 +00:00
|
|
|
|
((CButton*)GetDlgItem(IDC_CheckParamSet))->EnableWindow(FALSE);
|
|
|
|
|
((CButton*)GetDlgItem(IDC_CheckParamRead))->EnableWindow(FALSE);
|
|
|
|
|
((CButton*)GetDlgItem(IDC_BTN_FLAT))->EnableWindow(FALSE);
|
|
|
|
|
}
|
2020-08-31 08:08:50 +00:00
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
void CHuaGoCorrectDlg::OnCbnSelChangeDpi()
|
|
|
|
|
{
|
2021-12-22 01:06:04 +00:00
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2021-07-31 03:12:53 +00:00
|
|
|
|
m_iDpiIndex = m_ComboxDpi.GetCurSel();
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
|
|
|
|
|
void CHuaGoCorrectDlg::OnCbnSelChangeColor()
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
2021-12-22 01:06:04 +00:00
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2021-07-31 03:12:53 +00:00
|
|
|
|
m_iColorIndex = m_ComboxColor.GetCurSel();
|
|
|
|
|
//m_drv->set_decompress_pix_type(0 == m_iColorIndex ? TWPT_GRAY : TWPT_RGB);
|
|
|
|
|
}
|
2020-08-31 08:08:50 +00:00
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
void CHuaGoCorrectDlg::OnBnClickedStopScan()
|
|
|
|
|
{
|
2021-12-22 01:06:04 +00:00
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2021-07-31 03:12:53 +00:00
|
|
|
|
}
|
2020-08-31 08:08:50 +00:00
|
|
|
|
|
|
|
|
|
|
2021-08-17 01:07:55 +00:00
|
|
|
|
void CHuaGoCorrectDlg::OnTimer(UINT_PTR nIDEvent)
|
|
|
|
|
{
|
2021-12-22 01:06:04 +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>ֵ
|
2021-08-17 01:07:55 +00:00
|
|
|
|
switch (nIDEvent)
|
|
|
|
|
{
|
|
|
|
|
case 1:
|
|
|
|
|
{
|
|
|
|
|
if (b_review == FALSE)
|
|
|
|
|
{
|
|
|
|
|
n_second++;
|
|
|
|
|
if (n_second == 60)
|
|
|
|
|
{
|
|
|
|
|
n_second = 0;
|
|
|
|
|
n_minute++;
|
|
|
|
|
}
|
|
|
|
|
if (n_minute == 60)
|
|
|
|
|
{
|
|
|
|
|
n_minute = 0;
|
|
|
|
|
n_hour++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
case 2:
|
|
|
|
|
{
|
|
|
|
|
if (b_review == FALSE)
|
|
|
|
|
{
|
|
|
|
|
int h1, h2, m1, m2, s1, s2;
|
|
|
|
|
h1 = n_hour / 10;
|
|
|
|
|
h2 = n_hour % 10;
|
|
|
|
|
m1 = n_minute / 10;
|
|
|
|
|
m2 = n_minute % 10;
|
|
|
|
|
s1 = n_second / 10;
|
|
|
|
|
s2 = n_second % 10;
|
|
|
|
|
s_hour.Format(L"%d%d", h1, h2);
|
|
|
|
|
s_minute.Format(L"%d%d", m1, m2);
|
|
|
|
|
s_second.Format(L"%d%d", s1, s2);
|
|
|
|
|
}
|
|
|
|
|
UpdateData(FALSE);
|
|
|
|
|
}
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CDialogEx::OnTimer(nIDEvent);
|
|
|
|
|
}
|
2020-08-31 08:08:50 +00:00
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
/// <summary>
|
2021-12-22 01:06:04 +00:00
|
|
|
|
/// ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
2021-07-31 03:12:53 +00:00
|
|
|
|
/// </summary>
|
|
|
|
|
void CHuaGoCorrectDlg::OnBnClickedBtnSelectfile()
|
|
|
|
|
{
|
|
|
|
|
CProgressCtrl* prb = (CProgressCtrl*)GetDlgItem(IDC_PRB_UPDATE);
|
|
|
|
|
prb->SetRange(0, 100);
|
|
|
|
|
CFileDialog ofd(TRUE,
|
|
|
|
|
_T(".zip"),
|
|
|
|
|
NULL,
|
|
|
|
|
OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
|
|
|
|
|
_TEXT("Upda Files (*.zip)|*.zip||)"),
|
|
|
|
|
NULL);
|
|
|
|
|
if (IDOK == ofd.DoModal())
|
|
|
|
|
{
|
2021-08-17 01:07:55 +00:00
|
|
|
|
USES_CONVERSION;
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
updateFilePath = ofd.GetPathName();
|
2021-08-17 01:07:55 +00:00
|
|
|
|
SetDlgItemText(IDC_LB_FILEPATH, updateFilePath);
|
2021-07-31 03:12:53 +00:00
|
|
|
|
}
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
/// <summary>
|
2021-12-22 01:06:04 +00:00
|
|
|
|
/// <20><>ʼϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>
|
2021-07-31 03:12:53 +00:00
|
|
|
|
/// </summary>
|
|
|
|
|
void CHuaGoCorrectDlg::OnBnClickedBtnUpdate()
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
2021-07-31 03:12:53 +00:00
|
|
|
|
if (m_updateThread.joinable())
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
2021-07-31 03:12:53 +00:00
|
|
|
|
m_updateThread.join();
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
m_updateThread = std::thread(&CHuaGoCorrectDlg::updatefunc, this);
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
/// <summary>
|
2021-12-22 01:06:04 +00:00
|
|
|
|
/// <20><><EFBFBD><EFBFBD>ɨ<EFBFBD><C9A8>USB
|
2021-07-31 03:12:53 +00:00
|
|
|
|
/// </summary>
|
|
|
|
|
void CHuaGoCorrectDlg::OnBnClickedBtnRefresh()
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
2021-07-31 03:12:53 +00:00
|
|
|
|
RefreshUSBList();
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
/// <summary>
|
2021-12-22 01:06:04 +00:00
|
|
|
|
/// USB<53>б<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>仯
|
2021-07-31 03:12:53 +00:00
|
|
|
|
/// </summary>
|
|
|
|
|
void CHuaGoCorrectDlg::OnCbnSelchangeCmbUsbs()
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
2021-07-31 03:12:53 +00:00
|
|
|
|
int ret = m_Usbs.GetCurSel();
|
|
|
|
|
if (ret >= 0)
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
2021-07-31 03:12:53 +00:00
|
|
|
|
if (m_drv.get() && m_drv->IsConnected())
|
|
|
|
|
m_drv->close();
|
2020-08-31 08:08:50 +00:00
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
auto usbs = UsbScan_List::find_all_usb();
|
|
|
|
|
if (usbs.size() > 0)
|
|
|
|
|
{
|
|
|
|
|
int vid, pid;
|
|
|
|
|
int j = 0;
|
|
|
|
|
for (auto i = usbs.begin(); i != usbs.end(); i++, j++)
|
|
|
|
|
{
|
|
|
|
|
if (j == ret)
|
|
|
|
|
{
|
2021-12-22 01:06:04 +00:00
|
|
|
|
if ((i->vid == 0x3072 && i->pid == 0x0139) ||
|
|
|
|
|
(i->vid == 0x3072 && i->pid == 0x0239) ||
|
|
|
|
|
(i->vid == 0x31c9 && i->pid == 0x8629) ||
|
|
|
|
|
(i->vid == 0x31c9 && i->pid == 0x8739))
|
2021-07-31 03:12:53 +00:00
|
|
|
|
m_drv.reset(new gscan3399());
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
m_drv.reset(new GScn_Drv());
|
|
|
|
|
GetDlgItem(IDC_CKBUVMODEL)->EnableWindow(i->vid == 0x3072 && i->pid == 0x0300);
|
|
|
|
|
}
|
|
|
|
|
m_drv->open(i->vid, i->pid, 0);
|
2021-08-17 01:07:55 +00:00
|
|
|
|
USES_CONVERSION;
|
|
|
|
|
std::string savepath(W2A(GetMainApp()->path.GetBuffer()));
|
2021-07-31 03:12:53 +00:00
|
|
|
|
m_drv->SetPath(savepath);
|
|
|
|
|
if (i->pid & 0x39)
|
|
|
|
|
{
|
|
|
|
|
GetDlgItem(IDC_CKBCORRECTMODE)->EnableWindow(TRUE);
|
|
|
|
|
m_A3dlg.GetDlgItem(IDC_STATICUVSP)->ShowWindow(SW_HIDE);
|
|
|
|
|
m_A3dlg.GetDlgItem(IDC_LBGUVSP)->ShowWindow(SW_HIDE);
|
|
|
|
|
m_A3dlg.GetDlgItem(IDC_BTNGETUVSP)->ShowWindow(SW_HIDE);
|
|
|
|
|
m_A3dlg.GetDlgItem(IDC_BTNSETUVSP)->ShowWindow(SW_HIDE);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
GetDlgItem(IDC_CKBCORRECTMODE)->EnableWindow(FALSE);
|
|
|
|
|
((CButton*)GetDlgItem(IDC_CKBCORRECTMODE))->SetCheck(FALSE);
|
|
|
|
|
m_A3dlg.GetDlgItem(IDC_STATICUVSP)->ShowWindow(SW_SHOW);
|
|
|
|
|
m_A3dlg.GetDlgItem(IDC_LBGUVSP)->ShowWindow(SW_SHOW);
|
|
|
|
|
m_A3dlg.GetDlgItem(IDC_BTNGETUVSP)->ShowWindow(SW_SHOW);
|
|
|
|
|
m_A3dlg.GetDlgItem(IDC_BTNSETUVSP)->ShowWindow(SW_SHOW);
|
|
|
|
|
}
|
2020-08-31 08:08:50 +00:00
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
if (!m_drv->IsConnected())
|
|
|
|
|
{
|
|
|
|
|
MessageBox(TEXT("open current select usb scanner failed"), TEXT("Notify"), MB_OK | MB_ICONINFORMATION);
|
|
|
|
|
}
|
2021-08-17 01:07:55 +00:00
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
/// <summary>
|
2021-12-22 01:06:04 +00:00
|
|
|
|
/// <20><>ʼɨ<CABC><C9A8>
|
2021-07-31 03:12:53 +00:00
|
|
|
|
/// </summary>
|
|
|
|
|
void CHuaGoCorrectDlg::OnBnClickedBtnstart()
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
|
|
|
|
m_iPicIndex = 0;
|
2021-07-31 03:12:53 +00:00
|
|
|
|
|
2020-08-31 08:08:50 +00:00
|
|
|
|
if (!m_drv->IsConnected())
|
|
|
|
|
{
|
2021-12-22 01:06:04 +00:00
|
|
|
|
MessageBox(L"ɨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
2020-08-31 08:08:50 +00:00
|
|
|
|
return;
|
|
|
|
|
}
|
2021-07-31 03:12:53 +00:00
|
|
|
|
m_iColorIndex = m_ComboxColor.GetCurSel();
|
2021-08-17 01:07:55 +00:00
|
|
|
|
GetDlgItem(IDC_STATIC_NUM)->SetWindowText(L"0");
|
2020-08-31 08:08:50 +00:00
|
|
|
|
m_drv->DevStateChange();
|
|
|
|
|
m_drv->reset();
|
|
|
|
|
Scan();
|
|
|
|
|
papercount = 0;
|
2021-07-31 03:12:53 +00:00
|
|
|
|
m_tab.SetCurSel(1);
|
|
|
|
|
RefreshTabChange();
|
|
|
|
|
m_VisonDlg.SetEnableShow(true);
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
/// <summary>
|
2021-12-22 01:06:04 +00:00
|
|
|
|
/// ֹͣɨ<D6B9><C9A8>
|
2021-07-31 03:12:53 +00:00
|
|
|
|
/// </summary>
|
|
|
|
|
void CHuaGoCorrectDlg::OnBnClickedBtnstop()
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
2021-07-31 03:12:53 +00:00
|
|
|
|
b_suspend = !b_suspend;
|
2020-08-31 08:08:50 +00:00
|
|
|
|
if (b_suspend)
|
|
|
|
|
{
|
|
|
|
|
KillTimer(N_TIMER_SEC);
|
|
|
|
|
KillTimer(N_TIMER_SHOW);
|
|
|
|
|
int h1, h2, m1, m2, s1, s2;
|
|
|
|
|
h1 = n_hour / 10;
|
|
|
|
|
h2 = n_hour % 10;
|
|
|
|
|
m1 = n_minute / 10;
|
|
|
|
|
m2 = n_minute % 10;
|
|
|
|
|
s1 = n_second / 10;
|
|
|
|
|
s2 = n_second % 10;
|
2021-08-17 01:07:55 +00:00
|
|
|
|
s_hour.Format(L"%d%d", h1, h2);
|
|
|
|
|
s_minute.Format(L"%d%d", m1, m2);
|
|
|
|
|
s_second.Format(L"%d%d", s1, s2);
|
2020-08-31 08:08:50 +00:00
|
|
|
|
UpdateData(FALSE);
|
|
|
|
|
}
|
|
|
|
|
m_drv->Stop_scan();
|
|
|
|
|
}
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
void CHuaGoCorrectDlg::updatefunc()
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
2021-07-31 03:12:53 +00:00
|
|
|
|
CProgressCtrl* prb = (CProgressCtrl*)GetDlgItem(IDC_PRB_UPDATE);
|
2021-08-17 01:07:55 +00:00
|
|
|
|
USES_CONVERSION;
|
|
|
|
|
std::string updatefile(W2A(updateFilePath));
|
|
|
|
|
int ret = m_drv->Updata(updatefile, [this, &prb](long pos, long len) {
|
|
|
|
|
prb->SetRange32(0, len);
|
2021-07-31 03:12:53 +00:00
|
|
|
|
prb->SetPos(pos);
|
|
|
|
|
});
|
|
|
|
|
if (ret == false)
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
2021-12-22 01:06:04 +00:00
|
|
|
|
MessageBox(TEXT("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>"), TEXT("<EFBFBD><EFBFBD>ʾ"), MB_OK);
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
2021-07-31 03:12:53 +00:00
|
|
|
|
else
|
|
|
|
|
{
|
2021-12-22 01:06:04 +00:00
|
|
|
|
MessageBox(TEXT("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), TEXT("<EFBFBD><EFBFBD>ʾ"), MB_OK | MB_ICONINFORMATION);
|
2021-07-31 03:12:53 +00:00
|
|
|
|
}
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|