#pragma once #include "afxwin.h" #include "EiVisionType.h" // CVisionSetDlg ¶Ô»°¿ò #include "VisionRecipe.h" #include "OpRoiDlg.h" class CVisionSetDlg : public CDialogEx { DECLARE_DYNAMIC(CVisionSetDlg) typedef struct _DrawOperator { DimensionDir eDir; //ģʽ VISION_TYPE eVisionType; //Ëã·¨ÀàÐÍ int nID; //ID int nType; //ÀàÐÍ bool isDrawing; //ÊÇ·ñ }DrawOperator; public: CVisionSetDlg(CWnd* pParent = NULL); // ±ê×¼¹¹Ô캯Êý virtual ~CVisionSetDlg(); // ¶Ô»°¿òÊý¾Ý #ifdef AFX_DESIGN_TIME enum { IDD = IDD_DIALOG_VISION_SET }; #endif private: std::vector m_pages; DimensionDir m_eDir; VISION_TYPE m_eVisionType; DrawOperator m_drawOperator; COpRoiDlg *m_pOpRoiDlg; CMenu m_visionMenu; std::vector m_buttons; private: //2. ³õʼ»¯´°Ìå void InitCreateWnd(void); //3. λÖÃÒÆ¶¯ void Resize(void); //4. ÉèÖð´Å¥´óС void SetButtonsSize(std::vector& buttons); //5. ÉèÖð´Å¥Î»Öà void UpdateButtonsLayout(std::vector& buttons, const std::vector& states); //6. Ë¢ÐÂͼÏñ void ChangeImage(DimensionDir eDir); //7. ͼÏñËã·¨ void ChangeVisionType(VISION_TYPE eVision); //8. ¸Ä±äÊÓ¾õ´¦Àí void ChangeVisionPro(DimensionDir eDir, VISION_TYPE eVision); //9. ÏÔʾËã·¨ÀàÐÍ void ShowVisionType(void); protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV Ö§³Ö DECLARE_MESSAGE_MAP() public: void ChangeDimension(DimensionDir eDir); public: afx_msg void OnClose(); virtual BOOL OnInitDialog(); afx_msg void OnMove(int x, int y); afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor); DECLARE_EVENTSINK_MAP() void ClickRdoInstypeLoc(); void ClickRdoInstypeRcut(); void ClickButtonVisionScanSet(); void ClickButtonVisionKeySet(); void ClickButtonVisionOpRoi(); void ClickRdoInstypeCut(); void ClickRdoInstypeKdist(); void ClickRdoInstypeGrind(); virtual BOOL PreTranslateMessage(MSG* pMsg); void ClickRdoInstypeThres(); void ClickRdoInstypeHole(); };