LWQ
2025-07-24 75fa4f9c3c26407b906f9de0a4f5ed7708cb68b3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
#pragma once
 
#include "FrameImg.h"
#include "afxcmn.h"
// CViewScanImage ´ëÈ­ »óÀÚÀÔ´Ï´Ù.
 
class CHardwareSettings;
class CGlass_Data;
class CViewScanImage : public CDialogEx
{
    DECLARE_DYNAMIC(CViewScanImage)
 
public:
    CViewScanImage(CWnd* pParent = NULL);   // Ç¥ÁØ »ý¼ºÀÚÀÔ´Ï´Ù.
    virtual ~CViewScanImage();
 
// ´ëÈ­ »óÀÚ µ¥ÀÌÅÍÀÔ´Ï´Ù.
    enum { IDD = IDD_DLG_SCANIMAGE_VIEW };
 
protected:
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV Áö¿øÀÔ´Ï´Ù.
    virtual BOOL OnInitDialog();
    virtual BOOL PreTranslateMessage(MSG* pMsg);
    afx_msg void OnPaint();        
    afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
    afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
    afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
    afx_msg void OnBnClickedBtnLoad1();
    afx_msg void OnBnClickedBtnSave1();
    afx_msg void OnBnClickedBtnLoad2();
    afx_msg void OnBnClickedBtnSave2();
    afx_msg void OnBnClickedBtnLoad3();
    afx_msg void OnBnClickedBtnSave3();
    afx_msg void OnBnClickedBtnLoad4();
    afx_msg void OnBnClickedBtnSave4();
    afx_msg void OnNMCustomdrawSliderZoom(NMHDR *pNMHDR, LRESULT *pResult);
    afx_msg void OnNMReleasedcaptureSliderZoom(NMHDR *pNMHDR, LRESULT *pResult);
    afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
    afx_msg void OnBnClickedUpdnWidth1();    
    afx_msg void OnBnClickedUpdnWidth2();
    afx_msg void OnBnClickedUpdnWidth3();
    afx_msg void OnBnClickedUpdnWidth4();
    afx_msg void OnBnClickedUpdnWidth6();
    afx_msg void OnBnClickedUpdnWidth5();
    afx_msg void OnBnClickedUpdnWidth7();
    afx_msg void OnBnClickedUpdnWidth8();        
    afx_msg void OnBnClickedBtnLoad5();
    afx_msg void OnBnClickedBtnSave5();
    afx_msg void OnBnClickedBtnLoad6();
    afx_msg void OnBnClickedBtnSave6();
    afx_msg void OnBnClickedBtnLoad7();
    afx_msg void OnBnClickedBtnSave7();
    afx_msg void OnBnClickedBtnLoad8();
    afx_msg void OnBnClickedBtnSave8();
    afx_msg void OnBnClickedButton1();
    afx_msg void OnBnClickedButton2();    
    afx_msg void OnBnClickedCheckAutoSize();
    afx_msg void OnBnClickedBtnCommunication();
    afx_msg void OnBnClickedCheckAutoView();
    afx_msg void OnTimer(UINT_PTR nIDEvent);
    LRESULT OnProcessStatus(WPARAM wParam, LPARAM lParam);
    LRESULT OnBatchProcessNext(WPARAM wParam, LPARAM lParam);
    DECLARE_MESSAGE_MAP()
    DECLARE_EVENTSINK_MAP()
 
public:
    void            SetRecipe(CHardwareSettings *pHW);
    void            SetV2M(IViewInterface2Parent* pV2M){m_IV2M=pV2M;}
    void            SetGlassData(CGlass_Data *pGlass);
    void            ResetView();
    void            ViewRefresh(PROG_MSG ProcMsg);    
 
protected:
    void            OnBnClickedBtnImgShort();
    void            OnBnClickedBtnImgLong();
    void            OnBnClickedBtnImgBoth();
    void            OnBnClickedBtnInitDisplay();
    void            OnBnClickedBtnProc();
    void            OnBnClickedLoadAll();
    void            OnBnClickedSaveAll();
    void            OnBtnStartBatch();
    void            OnBtnStopBatch();
    void            OnClickBtnNextProcess();
 
protected:
    int                GetSideIdx(int nViewIndex);
    BYTE            *GetBufferPoint(int nViewIndex,int nPos = 0);
    void            ChangeCtrPos(int nMode);
    void            InitScrollInfo(int nSide = -1,int nScrollPos = 0);
    int                GetViewIndex(int nSideIdx);
    void            SetZoom(double dZoom);
    void            UpdateZoom();
    BOOL            ManualThreadStart(int nCmd,int nIndex = -1);            
    static UINT        ManualProcessAll(LPVOID pParam);
    void            SaveFullImage(int nViewIndex);
    void            SaveFullImageAll();    
    void            LoadAndProcessImages(const CString& strFolderPath);
    void            StartBatchProcess(const CString& strRootFolder);
    void            ProcessNextFolder();
 
protected:
    CMFCButton        m_btnLoad[MAX_PANEL_SIDE * UPDN_TYPE];
    CMFCButton        m_btnSave[MAX_PANEL_SIDE * UPDN_TYPE];
    CMFCButton        m_chkWithScorll[MAX_PANEL_SIDE * UPDN_TYPE];
    CStatic            m_staticCamInfo[MAX_PANEL_SIDE * UPDN_TYPE];
    CWinThread        *m_pManualProcess;    
    int                m_nIndex;
    int                m_nThreadCmd;
 
    CSliderCtrl        m_sliderZoom;
    double            m_dZoom;
 
    CScrollBar        m_ctrlScrollV[MAX_PANEL_SIDE * UPDN_TYPE],m_ctrlScrollH[MAX_PANEL_SIDE * UPDN_TYPE];
    BOOL            m_bWithScroll[MAX_PANEL_SIDE * UPDN_TYPE];
    CFrameImg        m_frameImg[MAX_PANEL_SIDE * UPDN_TYPE];
    int                m_nShowSelect;
    BOOL            m_bInitDlg;
    CHardwareSettings        *m_pHardware;
    IViewInterface2Parent    *m_IV2M;
    CGlass_Data                *m_pGlassData;
 
    // ly,2025.07.11
    int                m_nCurrentFolderIndex;
    BOOL            m_bIsBatchProcessing;
    CStringArray    m_arrFolderList;
};