#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();
|
};
|