// DitGlassRawMessengerDlg.h : Çì´õ ÆÄÀÏ // #pragma once #include "akGridCtrl/akGridCtrl.h" #include "akCore/akFileDB.h" #include "akGridData.h" #include "akLoggerExt.h" #include "DitGlassRawServer.h" #include "GlassRawBase.h" #include #include #include "afxcmn.h" #define UM_GLASSRAW_CLIENTMESSAGE WM_USER+0x1231 #define UM_TRAYICON_MSG WM_USER + 0x1230 // CDitGlassRawMessengerDlg ´ëÈ­ »óÀÚ class CDitGlassRawMessengerDlg : public CDialog { // »ý¼ºÀÔ´Ï´Ù. public: CDitGlassRawMessengerDlg(CWnd* pParent = NULL); // Ç¥ÁØ »ý¼ºÀÚÀÔ´Ï´Ù. // ´ëÈ­ »óÀÚ µ¥ÀÌÅÍÀÔ´Ï´Ù. enum { IDD = IDD_DitGlassRawMessenger_DIALOG }; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV Áö¿øÀÔ´Ï´Ù. protected: BOOL m_TrayIcon; void ResTrayIcon(void); void makeTrayIconMenu(HWND hWnd, int x, int y); public: LRESULT TrayIconMSG(WPARAM wParam, LPARAM lParam); public: struct _InitOption { int m_nMaxDataNumCell; int m_nMaxDataNumDefect; int m_nSelectRawType; char m_strLogFilePath[256]; int m_bUseStack; char m_strStackLocalPath[256]; char m_strStackEquipID[32]; char m_strStackParam1[32]; char m_strStackParam2[32]; int m_bUseRawMerge; char m_strRawMergeLocalPath[256]; }m_ConfigOption; void WriteConfigFile(); public: void MainProcess(); int ProcessCommand(emGlassRawCommand nCmd, char* pParam); char* GetAOIProcStepToString(emAOIProcStep nCmd); public: CDitGlassRawServer m_Server; CGlassRawBase* m_pGlassRawMaker; CgrmGlassRawData m_GlassRawDataBuffer; public: static void threadMain(void* arg); int m_nThreadMainFlag; public: CString m_strGlassID; char m_strConfigFile[MAX_PATH]; protected: void initGridGlassInfo(CakGridCtrl* pGrid, UINT nRectCtrlID); void initGridCellInfo(CakGridCtrl* pGrid, UINT nRectCtrlID); void initGridDefectInfo(CakGridCtrl* pGrid, UINT nRectCtrlID); void updateGridGlassInfo(); void getDispInfoDefect(int nCol, int nRow, CString* pStrData); void getDispInfoCell(int nCol, int nRow, CString* pStrData); CakGridCtrl m_gridGlassInfo; CakGridCtrl m_gridCellInfo; CakGridCtrl m_gridDefectInfo; std::vector m_vecStrGridGlassHeader; std::vector m_vecStrGridCellHeader; std::vector m_vecStrGridDefectHeader; protected: afx_msg LRESULT OnClientMessage(WPARAM wParam, LPARAM lParam); protected: CListCtrl m_ctrlLoggerList; afx_msg LRESULT OnLoggerDataUpdate(WPARAM wParam, LPARAM lParam); // ±¸ÇöÀÔ´Ï´Ù. protected: HICON m_hIcon; // »ý¼ºµÈ ¸Þ½ÃÁö ¸Ê ÇÔ¼ö virtual BOOL OnInitDialog(); afx_msg void OnSysCommand(UINT nID, LPARAM lParam); afx_msg void OnPaint(); afx_msg HCURSOR OnQueryDragIcon(); DECLARE_MESSAGE_MAP() public: afx_msg void OnDropFiles(HDROP hDropInfo); afx_msg void OnCbnSelchangeComboRawtype(); // afx_msg void OnDestroy(); virtual BOOL DestroyWindow(); afx_msg void OnBnClickedOk(); protected: virtual BOOL OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult); public: afx_msg void OnBnClickedBtnExportRaw(); afx_msg void OnLvnGetdispinfoListLog(NMHDR *pNMHDR, LRESULT *pResult); afx_msg void OnBnClickedTestLog1(); afx_msg void OnBnClickedTestLog2(); afx_msg void OnBnClickedLogClear(); afx_msg void OnBnClickedLogFileopen(); afx_msg void OnBnClickedChkAdminmode(); afx_msg void OnBnClickedBtnRefresh(); afx_msg void OnBnClickedBtnExportBin(); afx_msg void OnBnClickedBtnImportBin(); afx_msg void OnBnClickedBtnImportRaw(); virtual BOOL PreTranslateMessage(MSG* pMsg); afx_msg void OnBnClickedTest1(); afx_msg void OnBnClickedTest2(); afx_msg void OnBnClickedBtnStackapply(); afx_msg void OnBnClickedTestCmd(); afx_msg void OnBnClickedBtnFtpManualupload(); };