#pragma once #include "Global_Define.h" #include "GridCtrl.h" #include "ImgDefect.h" #include "ImgListView.h" #include "GlassRecipe.h" #include "Glass_Data.h" #include "DefectStorage.h" #include "HardwareSettings.h" using namespace std; typedef std::vector LISTDefect; typedef std::vector::iterator LISTDefectit; // CViewDefect 措拳 惑磊涝聪促. class CViewMain_Defect : public CDialogEx { DECLARE_DYNAMIC(CViewMain_Defect) public: CViewMain_Defect(CWnd* pParent = NULL); // 钎霖 积己磊涝聪促. virtual ~CViewMain_Defect(); // 措拳 惑磊 单捞磐涝聪促. enum { IDD = IDD_MAIN_VIEW_DEFECT }; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 瘤盔涝聪促. virtual BOOL OnInitDialog(void); virtual BOOL PreTranslateMessage(MSG* pMsg); afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar); afx_msg void OnGridClick(NMHDR *pNotifyStruct, LRESULT* pResult); afx_msg void OnGridDBClick(NMHDR *pNotifyStruct, LRESULT* pResult); LRESULT OnCImgListViewItemCLK(WPARAM wParam, LPARAM lParam); DECLARE_MESSAGE_MAP() public: void SetRecipe(CHardwareSettings *pHW); void SetV2M(IViewInterface2Parent* pV2M){m_pIV2M=pV2M;} void SetGlassData(CGlass_Data *pGlass); void SetDefectList(MapDefect* pMapDefect); void SetDefectPath(CString strPath); void ResetView(); protected: void Init_DefectGrid(); void Init_DefectGridHeader(); void InitScrollInfo(); void FillDefectList(); void SortListDefect(int nCol); CDefect* FindDefectBuffer(int iGlassIdx); void SelectDefect(int nSelDefect); void SetSelectDefectImg(int iRow); protected: CHardwareSettings *m_pHardware; IViewInterface2Parent *m_pIV2M; CGlass_Data *m_pGlassData; CGridCtrl m_GrdDefect; LISTDefect m_pOrgDefect; LISTDefect m_pSortDefect; CImgDefect m_DefectImg; CRect m_rcDefectImg; CScrollBar m_ctrlScrollH; BOOL m_bAsending; MapDefect *m_pMapDefect; int m_nSelectedRow; int m_nSelectedCol; CDefect* m_pSelDefect; CImgListView *m_pImgList; CCreateContext m_pContextImgList; CString m_strDefectPath; public: afx_msg void OnBnClickedChkAllDefectList(); };