#pragma once // COIUpsUpdateProgressDlg dialog #define CMD_FILE_UPLOAD _T( "ULF" ) // ÉÏ´«Îļþ #define CMD_FILE_DOWNLOAD _T( "DLF" ) // ÏÂÔØÎļþ #define CMD_FILE_UPDATE _T( "UPF" ) // ¸üÐÂÎļþ #define CMD_FILE_COPY _T( "CPF" ) // ¸´ÖÆÎļþ #define CMD_FILE_DELETE _T( "DTF" ) // ɾ³ýÎļþ #define CMD_FILE_GETFILEINFO _T( "GFI" ) // µÃµ½ÎļþÐÅÏ¢ class CTaskItemData; class CUpdateProgressDlg : public SHostWnd { public: public: CUpdateProgressDlg(); virtual ~CUpdateProgressDlg(); // Attributes public: SHostWnd *m_pOwner; CString m_strID; CString m_strAppProcName; CTaskItemData *m_pTaskItemData; private: BOOL m_bLayoutInited; // ³õʼ»¯±êʶ CString m_strFileServer; int m_nFileSPort; CString m_strLoginName; CString m_strUserName; CString m_strFileID; CString m_strFileName; CString m_strSaveFileName; __int64 m_nFileSize; __int64 m_nTranferedSize; __int64 m_nLastTransferedSize; //ÒÑ´«Êä´óС bool m_bSetFlag; DWORD m_dwLastUpdate; //ÉÏÒ»´Î¸üÐÂʱ¼ä BOOL m_bIsForcible; BOOL m_bDownloadFinish; long m_nTrID; DWORD m_dwLastTransfer; //ÉÏÒ»´ÎÊÕµ½´«Êä½ø¶ÈµÄʱ¼ä CFileClientAsynMgr m_FileClientMgr; BOOL m_bCloseDlg; // Operations public: void SetServerInfo(CString strFileServer, int nFileSPort); void SetUserInfo(CString strLoginName, CString strUserName); void SetFileInfo(CString strFileID, CString strFileName); void SetForcible(BOOL bIsForcible = TRUE); private: bool DownloadFile( CString strMFileServer, long nMFilePort, CString strMFileID, CString strFileName, CString &strFilePath ); CString GetFileSize(__int64 lSize); CString GetSpeedStr( __int64 nSpeed); CString GetRemainTime( DWORD nRemainedTime ); BOOL ParseErrerInfo( CString strErrorInfo, long &nErrID, CString &strErr); BOOL KillProcess( CString strProcess, CString &strErrInfo ); public: void OnClose(); //¹Ø±Õ BOOL OnInitDialog(HWND wndFocus, LPARAM lInitParam); int OnCreate(LPCREATESTRUCT lpCreateStruct); void OnTimer(UINT_PTR nIDEvent); void DoMessageLoop(); protected: virtual void OnFinalMessage(HWND hWnd) { __super::OnFinalMessage(hWnd); delete this; } public: protected: //°´Å¥Ê¼þ´¦ÀíÓ³Éä±í EVENT_MAP_BEGIN() EVENT_NAME_COMMAND(L"btn_close", OnClose) EVENT_MAP_END() //´°¿ÚÏûÏ¢´¦ÀíÓ³Éä±í BEGIN_MSG_MAP_EX(CMBAMSettingWnd) MSG_WM_CREATE(OnCreate) MSG_WM_INITDIALOG(OnInitDialog) MSG_WM_CLOSE(OnClose) MSG_WM_TIMER(OnTimer) MESSAGE_HANDLER(WM_FILECLIENT_CONNECT_ERROR,OnMsgFileConnectError) MESSAGE_HANDLER(WM_FILECLIENT_RESPONSE_ERROR,OnMsgFileResError) MESSAGE_HANDLER(WM_FILECLIENT_RESPONSE_RECEIVE,OnMsgFileResReceive) CHAIN_MSG_MAP(SHostWnd)//×¢Ò⽫ûÓд¦ÀíµÄÏûÏ¢½»¸ø»ùÀà´¦Àí REFLECT_NOTIFICATIONS_EX() END_MSG_MAP() public: //File afx_msg LRESULT OnMsgFileConnectError(UINT uMsg,WPARAM wParam,LPARAM lParam,BOOL & bHandled); afx_msg LRESULT OnMsgFileResError(UINT uMsg,WPARAM wParam,LPARAM lParam,BOOL & bHandled); afx_msg LRESULT OnMsgFileResReceive(UINT uMsg,WPARAM wParam,LPARAM lParam,BOOL & bHandled); };