// FutureCheckerDlg.h : header file // #if !defined(AFX_FUTURECHECKERDLG_H__976B64CB_BA9F_494B_A134_679B993EA694__INCLUDED_) #define AFX_FUTURECHECKERDLG_H__976B64CB_BA9F_494B_A134_679B993EA694__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 ///////////////////////////////////////////////////////////////////////////// // CFutureCheckerDlg dialog class CFutureCheckerDlg : public CDialog, public CThinThread { public: void StartWork(); // override to do startup void DoWork(); // override to do work void EndWork(); // override to do shutdown BOOL _MessageParse( CString & strMessage, int &nCount ); void _WorkThreadProc(); // ¸Å¼öÆÇ´Ü Processing ÇÔ¼ö. void CheckAmount( DWORD dwCurTime, int nCount ); public: CFutureCheckerDlg(CWnd* pParent = NULL);// standard constructor virtual ~CFutureCheckerDlg(); BOOL m_bMonitorStatus; IDibPtr m_pObjFutureCurOnly; CCpDibEvent * m_pEventFutureCurOnly; typedef struct _tag_FCURR { DWORD dwStartTime; // °Ë»ç ±âÁؽð¢. float fPrevCheckMoney; // ¸¶Áö¸· °Ë»ç È£°¡.(¸Åµµ1·¹º§). int nDiffLevel; // ·¹º§ º¯È­°ª. } FCURR, *LPFCURR; FCURR m_FCURR; typedef struct _tag__FAMOUNT__ { DWORD dwTime; // ½Ã°¢. int nCount; // °Å·¡·®. } __FAMOUNT__, *LP__FAMOUNT__; typedef struct _tag_FAMOUNT { int nIndexFAMOUNT; // ±â·Ï¼ø¼­.(¶óÀΰ¹¼ö±âÁØ Circular Å¥¿î¿µ) __FAMOUNT__ FAMOUNT[100]; // °ú°Å ±â·Ï°ËÅä ÃÖ´ëÄ¡. } FAMOUNT, *LPFAMOUNT; FAMOUNT m_FAMOUNT; typedef struct _tag_APPLYRULEJOIN { DWORD dwTimeFAMOUNT; // °Ë»ç ±âÁؽð¢. int nStateFAMOUNT; // Normal(0), »ó½Â(1), Ç϶ô(2) DWORD dwTimeFCURR; // °Ë»ç ±âÁؽð¢. int nStateFCURR; // Normal(0), »ó½Â(1), Ç϶ô(2) } APPLYRULEJOIN, *LPAPPLYRULEJOIN; APPLYRULEJOIN m_APPLYRULEJOIN; // ÇÕÁýÇÕ Á¶°Ç󸮸¦ À§ÇØ. typedef struct _tag_CHECKAMOUNT { float fPrevCMoney; // 1-(float) ÇöÀç°¡ float fPrevMedo; // 16-(float) ¸Åµµ 1 ¿ì¼±È£°¡ float fPrevMesu; // 33-(float) ¸Å¼ö 1 ¿ì¼±È£°¡ long lTotalAmount; // 13-(long) ´©Àû°Å·¡·® } CHECKAMOUNT, *LPCHECKAMOUNT; CHECKAMOUNT m_CHECKAMOUNT; enum EMULATEHOTKEY_SRC { SRC_FAMOUNT=0, SRC_FCURR=1 }; private: void InstallHotKey( BOOL bInstall = TRUE ); void TraceMsg( CString strMsg, CXListBox::Color tc=CXListBox::Black, CXListBox::Color bc=CXListBox::White ); BOOL EmulateHotKey( EMULATEHOTKEY_SRC srcType, int nIndex , BOOL bSound=FALSE ); void ClearCheckValue(); // Dialog Data //{{AFX_DATA(CFutureCheckerDlg) enum { IDD = IDD_FUTURECHECKER_DIALOG }; CXListBox m_hTraceListBox; //}}AFX_DATA // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CFutureCheckerDlg) public: virtual BOOL DestroyWindow(); protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: CFont m_LockUnlockBtnFont; HICON m_hIcon; // Generated message map functions //{{AFX_MSG(CFutureCheckerDlg) virtual BOOL OnInitDialog(); afx_msg void OnSysCommand(UINT nID, LPARAM lParam); afx_msg void OnPaint(); afx_msg HCURSOR OnQueryDragIcon(); afx_msg void OnConfigBtn(); afx_msg void OnClose(); afx_msg void OnRunCheck(); afx_msg void OnMonitorStart(); afx_msg void OnUpdateMonitorStart(CCmdUI* pCmdUI); afx_msg void OnMonitorPause(); afx_msg void OnUpdateMonitorPause(CCmdUI* pCmdUI); afx_msg void OnSize(UINT nType, int cx, int cy); afx_msg void OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI); afx_msg BOOL OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCopyDataStruct); //}}AFX_MSG afx_msg LONG OnReceived(WPARAM wParam, LPARAM lParam); afx_msg LRESULT OnHotKey(WPARAM wParam, LPARAM lParam); // afx_msg LRESULT OnTargetAppDestoryed( WPARAM wParam, LPARAM lParam ); // ÈÄÅ· ¶óÀ̺귯¸®¿ë. DECLARE_MESSAGE_MAP() }; //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_FUTURECHECKERDLG_H__976B64CB_BA9F_494B_A134_679B993EA694__INCLUDED_)