#pragma once #include "btnenh.h" #include "General_Draw.h" #include "EdgeImageViewer.h" #include "ImageViewer.h" #include "Global_Define.h" #include "GridCtrl.h" #include "DlgSideDimensionSetting.h" #include "DlgSideNotchSetting.h" #include "DlgSideExceptoinSetting.h" #include "DlgSideUserDefectSetting.h" #include "StatusMonitor.h" #include "ViewLampControl.h" #include "ViewRecipeList.h" // CViewLedRecipeSetting ´ëÈ­ »óÀÚÀÔ´Ï´Ù. class CViewMain_Recipe : public CDialogEx { DECLARE_DYNAMIC(CViewMain_Recipe) public: CViewMain_Recipe(CWnd* pParent = NULL); // Ç¥ÁØ »ý¼ºÀÚÀÔ´Ï´Ù. virtual ~CViewMain_Recipe(); // ´ëÈ­ »óÀÚ µ¥ÀÌÅÍÀÔ´Ï´Ù. enum { IDD = IDD_MAIN_VIEW_RECIPE }; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV Áö¿øÀÔ´Ï´Ù. virtual BOOL OnInitDialog(); virtual BOOL PreTranslateMessage(MSG* pMsg); LRESULT OnProcessStatus(WPARAM wParam, LPARAM lParam); afx_msg void OnPaint(); afx_msg void OnShowWindow(BOOL bShow, UINT nStatus); afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar); afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar); afx_msg void OnNMCustomdrawSliderZoom2(NMHDR *pNMHDR, LRESULT *pResult); afx_msg void OnNMReleasedcaptureSliderZoom2(NMHDR *pNMHDR, LRESULT *pResult); afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt); afx_msg LRESULT OnSelectRecipe(WPARAM wParam, LPARAM lParam); DECLARE_MESSAGE_MAP() DECLARE_EVENTSINK_MAP() public: void SetRecipe(CHardwareSettings *pHW,CGlassRecipe *pRecipe); void SetV2M(IViewInterface2Parent* pV2M); void SetGlassData(CGlass_Data *pGlass); void ViewRefresh(PROG_MSG ProcMsg); void InitView(); private: CBtnEnh m_ctrlRecipeName; CBtnEnh m_ctrlRecipList; CBtnEnh m_ctrlRecipeComment; CString m_strRecipeName; CString m_strPPIDName; protected: void ClickImgLoadButton(); void ClickImgSaveButton(); void ClickInitProcessButton(); void ClickInspectProcessButton(); void ClickRecipeSaveButton(); void ClickRecipeListButton(); void OnBnClickedBtnLightControl(); void ClickSideSelButton(); void ClickRdoInsType(); void ClickButtonLang(); void ClickBtnMarkUpdate(); protected: void InitScrollInfo(BOOL bInitPos = FALSE); void UpdateZoom(); BOOL LoadLinkFile(CString strFilePath); void DeleteVectorList(); BOOL WriteLinkFile(CString strFilePath); void ChangeRecipe(); BOOL ReadRecipe(CString strRecipe); public: void UpdateRecipe(BOOL bGetData, int type = 0); void UpdateMarkImage(); void DrawMarkImage(); public: void ChangViewCdmSide(UINT nID); void ChangInsTypeSide(UINT nID); void UpdateSideImage(); void GetResolution(double &dH,double &dV, int& nFrameWidth, int& nFrameHeight, int& nFrameCount); #if HALCON_VISION_KEY protected: CDialogEx* m_pVisionSetDlg; IVisionEvent* m_pVisionEvent = nullptr; public: void DispAllResult(void); void SetFrameRegion(void); public: static void onMsgVisionEvent(int code, int eDir); static void onMsgLogEvent(int level, std::string strText); #endif // HALCON_VISION_KEY protected: CvPoint2D32f Get_MarkCenter(IplImage *IpScr,CvRect roi,int nMode,int nOffSet = 20); CvRect Get_MaxPattern(IplImage *IpScr,CvRect roi,int nMode,int nOffSet = 20); protected: CHardwareSettings *m_pHardware; CGlassRecipe *m_pRecipe; CGlassRecipe *m_pDlgRecipe; CGlass_Data *m_pGlassData; // Dialog.. CViewRecipeList *m_pViewRecipeList; CViewLampControl *m_pviewLightControl; CDlgSideDimensionSetting *m_pViewSideDimensionSetting; CDlgSideNotchSetting *m_pViewSideNotchSetting; CDlgSideExceptoinSetting *m_pViewSideExceptionSetting; CDlgSideUserDefectSetting *m_pViewSideUserDefectSetting; VectorLinkList m_VectorLinkList; IViewInterface2Parent *m_IV2M; // Image View Control double m_dZoom; CSliderCtrl m_sliderZoom; CRect m_rcFrameImg; CScrollBar m_ctrlScrollV; CScrollBar m_ctrlScrollH; CEdgeImageViewer m_frameImg; // CString m_strRecipeName,m_strPPIDName; eViewCmdSide m_eSelectSide; eViewCmdInsType m_eSelectInsType; emLanguageType m_eSelectLangType; public: void Init_PanelInfo(); void Init_SideInsInfo(); void Init_JudgementInfo(); void Fill_PanelInfo(BOOL bGetData); //(BOOL bWriete); void Fill_SideInsInfo(BOOL bGetData); //(BOOL bWriete); void Fill_JudgementInfo(BOOL bGetData); //(BOOL bWriete); public: CGridCtrl m_PanelInfo; CGridCtrl m_SideInspectInfo; CGridCtrl m_JudgementInfo; double m_dScanTimeOut; public: void Init_BitmapInfo(); private: BITMAPINFO* m_pBmInfo; BOOL m_bTopMarkImageAlloc[MAX_MARKER_COUNT]; IplImage* m_pTopMarkImage[MAX_MARKER_COUNT]; BOOL m_bBotMarkImageAlloc[MAX_MARKER_COUNT]; IplImage* m_pBotMarkImage[MAX_MARKER_COUNT]; public: void ClickButtonOpenDimensionSettingView(); void ClickButtonOpenNotchSettingView(); void ClickButtonOpenExceptionSettingView(); void ClickButtonOpenUserDefectSettingView(); void ClickButtonVisionSetting(); };