ÿþ// MainDlg.h : interface of the CMainDlg class // ///////////////////////////////////////////////////////////////////////////// #pragma once #include "stdafx.h" #include "ClientConnect.h" #include "MBThreadInit.h" #include "MBThreadShareMemory.h" #include "MBSettingWnd.h" #include "MBAboutWnd.h" /************************************************************************/ /* ;N—zãS */ /************************************************************************/ class CMainDlg : public SHostWnd ,public SDpiHandler<CMainDlg> //,public TAutoEventMapReg<CMainDlg> // (W;N—zSO-N ÿ N‰O(uꁨRèlŒQ ÿ N6qO gˆ_'Y„v˜ { public: CMainDlg(); ~CMainDlg(); private: BOOL m_bLayoutInited; // RËYShƋ CMBDocWnd m_DocWnd; // ‡ech CMBTransWnd m_TransWnd; // O“ CMBDataWnd m_DataWnd; // penc CMBAMWnd m_AMWnd; // AM CMBSearchWnd m_SearchWnd; // d"} CMBServerMgr *m_pSvrMgr; // g¡R¡{thV CString m_strCdnPort; // cdnïzãS CClientConnect m_conn; // ޏ¥ccdn ÿ(uŽNۏ záO SRadioEx *m_pCtlSelRadio; // ébpage„v§cöN CMBTransSvrMgr *m_pTransSvrMgr; // O“ g¡R¡{thV CMBThreadInit *m_pThreadInit; // RËYS¿~ z CMBThreadShareMemory *m_pThreadShareMemory; // ·ƒÖSۏ zô•qQ«N…QX[¿~ z CMBSettingWnd *m_pMBSettingWnd; CMBAboutWnd *m_pMBAboutWnd; private: int m_cxFrame; // ¹Fh½[¦^ int m_cyFrame; // ¹Fhؚ¦^ SOUI::CRect m_rcTaskBar; int m_nTaskBarPos; // ûN¡RhMOn int m_bIsHideState; // /f&Tò]Ï~/f–Ï…¶r` int m_hideMode; // –Ï…!j_ BOOL m_bFinished; // –Ï…b>f:yǏ z/f&TŒ[b BOOL m_bHiding; // å‹ÂSpeêS g(W!m_bFinishedMb gHe // w:ck(W–Ï…,GP:ck(W>f:y BOOL m_bSizeChanged; // —zãS'Y\/f&T9eØS†N BOOL m_bSetTimer; // /f&T¾‹nÀhKm Ÿh„vš[öehV int m_nOldWndHeight; // çe„v—zãS½[¦^ BOOL m_bExit; // sQ핔^(u z^ BOOL m_bCleanWebCache;// nd–webX[ public: //HRESULT OnDragEnter(IDataObject* pDataObject, DWORD dwKeyState, const POINT& point); //DROPEFFECT OnDragOver(IDataObject* pDataObject, DWORD dwKeyState, const POINT& point, std::wstring& szMessage, std::wstring& szInsert); //BOOL OnDrop(IDataObject* pDataObject, DWORD dwKeyState, const POINT& point); void RegDragDrop(); // èlŒQÖbýb void UnRegDragDrop(); // ʑ>eÖbýb static unsigned int _stdcall ThreadFunctionCheckUpdate(void *pV); public: void OnClose(); void OnMaximize(); void OnRestore(); void OnMinimize(); void OnSize(UINT nType, SOUI::CSize size); void OnSizing(UINT fwSide, LPRECT lpRect); void OnMoving(UINT fwSide, LPRECT pRect); void OnMove( SOUI::CPoint pt); int OnCreate(LPCREATESTRUCT lpCreateStruct); BOOL OnInitDialog(HWND wndFocus, LPARAM lInitParam); UINT OnWndNcHitTest(SOUI::CPoint point); void OnLButtonDown(UINT nFlags,SOUI::CPoint pt) { SetMsgHandled(FALSE); } //XbØvˆmo` LRESULT OnTrayLClick(UINT uMsg,WPARAM wParam,LPARAM lParam,BOOL & bHandled ); LRESULT OnTrayLDbClick( UINT uMsg,WPARAM wParam,LPARAM lParam,BOOL & bHandled ); LRESULT OnTrayRClick( UINT uMsg,WPARAM wParam,LPARAM lParam,BOOL & bHandled ); // webøvsQ LRESULT OnOrgWebResponse(UINT uMsg,WPARAM wParam,LPARAM lParam,BOOL & bHandled); LRESULT OnOrgWebError(UINT uMsg,WPARAM wParam,LPARAM lParam,BOOL & bHandled); // netdiskøvsQ LRESULT OnNetDiskResponse(UINT uMsg,WPARAM wParam,LPARAM lParam,BOOL & bHandled); LRESULT OnNetDiskError(UINT uMsg,WPARAM wParam,LPARAM lParam,BOOL & bHandled); // moboxøvsQ LRESULT OnMoboxResponse(UINT uMsg,WPARAM wParam,LPARAM lParam,BOOL & bHandled); LRESULT OnMoboxError(UINT uMsg,WPARAM wParam,LPARAM lParam,BOOL & bHandled); // FileClientøvsQ LRESULT OnFileClientConnectError(UINT uMsg,WPARAM wParam,LPARAM lParam,BOOL & bHandled); // ޏ¥c•ï‹: int nErrCode LRESULT OnFileClientResponseError(UINT uMsg,WPARAM wParam,LPARAM lParam,BOOL & bHandled); // }TäN•ï‹: int nTrID, CString *pstrParam LRESULT OnFileClientResponseReceive(UINT uMsg,WPARAM wParam,LPARAM lParam,BOOL & bHandled); // }TäNÍT”^: int nTrID, COISysMsg *pSMsg // FileMD5øvsQ LRESULT OnFileMD5Finish(UINT uMsg,WPARAM wParam,LPARAM lParam,BOOL & bHandled); LRESULT OnFileMD5Error(UINT uMsg,WPARAM wParam,LPARAM lParam,BOOL & bHandled); //ExtWeb LRESULT OnMsgExtWebResReceive(UINT uMsg,WPARAM wParam,LPARAM lParam,BOOL & bHandled); LRESULT OnMsgExtWebResError(UINT uMsg,WPARAM wParam,LPARAM lParam,BOOL & bHandled); // 9_úQ‡ech†‰Öv!j_9_—z LRESULT OnDocCoverMode(UINT uMsg,WPARAM wParam,LPARAM lParam,BOOL & bHandled); LRESULT OnDocCoverMode2(UINT uMsg,WPARAM wParam,LPARAM lParam,BOOL & bHandled); //AM{vU_¶r`åwˆmo` LRESULT OnAMLoginStatueRes(UINT uMsg,WPARAM wParam,LPARAM lParam,BOOL & bHandled); //vQÖN0W¹e‡eöNˆmo` LRESULT OnMsgShareMemoryUploadFiles(UINT uMsg,WPARAM wParam,LPARAM lParam,BOOL & bHandled); public: //void OnBtnTbSettingWeb(); void OnBtnMainSearch(); void UpdateUserStatusShow(int nStatus); bool SetTrayIcon( int nUserStatus ); void OnBtnSet(); void OnBtnSmallWindow(); void OnBtnBigWindow(); void OnUserInfoSet(); void OnUserStatusSet(); CString GetLoginUserPicture(); void DoHide(); //˜|D––Ï…—zãS void DoShow( ); //ÎN˜|D–-N>f:y—zãS void GetTaskBarHeight( ); void FixMoving(UINT fwSide, LPRECT pRect); //Œte—zãSMOn CMBServerMgr* GetMBServerMgr(); BOOL IsCleanWebCache( ); protected: void OnTimer(UINT_PTR nIDEvent); void OnTabPageRadioSwitch(int nID); void OnCommand(UINT uNotifyCode, int nID, HWND wndCtl); //souiˆmo` EVENT_MAP_BEGIN() EVENT_NAME_COMMAND(R.name.btn_close, OnClose) EVENT_NAME_COMMAND(R.name.btn_min, OnMinimize) EVENT_NAME_COMMAND(R.name.btn_max, OnMaximize) EVENT_NAME_COMMAND(R.name.btn_restore, OnRestore) //EVENT_NAME_COMMAND(_T("btn_tb_setting_web"), OnBtnTbSettingWeb) // TðS¡{t EVENT_NAME_COMMAND(_T("btn_main_search"), OnBtnMainSearch) EVENT_NAME_COMMAND(_T("btn_set"), OnBtnSet) EVENT_NAME_COMMAND(_T("btn_smallwindow"), OnBtnSmallWindow) EVENT_NAME_COMMAND(_T("btn_bigwindow"), OnBtnBigWindow) EVENT_NAME_COMMAND(_T("btn_avatar"), OnUserInfoSet) EVENT_NAME_COMMAND(_T("img_userstatus"), OnUserStatusSet) EVENT_NAME_HANDLER(_T("ed_main_searchvalue"),EventKeyDown::EventID,OnEventKeyDownMainSearch) EVENT_ID_COMMAND_RANGE(10000, 10010, OnTabPageRadioSwitch) //10000-10003/fdlg_main.xml-Nš[IN„vradio2„vID CHAIN_EVENT_MAP_MEMBER(m_DocWnd) // ‡ech CHAIN_EVENT_MAP_MEMBER(m_TransWnd) // O“ CHAIN_EVENT_MAP_MEMBER(m_DataWnd) // penc CHAIN_EVENT_MAP_MEMBER(m_AMWnd) // AM CHAIN_EVENT_MAP_MEMBER(m_SearchWnd) // d"} EVENT_MAP_END() //HostWndwž[—zãSˆmo`Yt BEGIN_MSG_MAP_EX(CMainDlg) //XbØvˆmo` MESSAGE_HANDLER(WM_TRAYICON_LCLICK,OnTrayLClick) MESSAGE_HANDLER(WM_TRAYICON_LDBCLICK,OnTrayLDbClick) MESSAGE_HANDLER(WM_TRAYICON_RCLICK,OnTrayRClick) // webøvsQ MESSAGE_HANDLER(WM_ORGWEB_RESPONSE,OnOrgWebResponse) MESSAGE_HANDLER(WM_ORGWEB_ERROR,OnOrgWebError) // netdiskøvsQ MESSAGE_HANDLER(WM_NETDISK_RESPONSE,OnNetDiskResponse) MESSAGE_HANDLER(WM_NETDISK_ERROR,OnNetDiskError) // moboxøvsQ MESSAGE_HANDLER(WM_MOBOX_RESPONSE,OnMoboxResponse) MESSAGE_HANDLER(WM_MOBOX_ERROR,OnMoboxError) // FileClientøvsQ MESSAGE_HANDLER(WM_FILECLIENT_CONNECT_ERROR,OnFileClientConnectError) MESSAGE_HANDLER(WM_FILECLIENT_RESPONSE_ERROR,OnFileClientResponseError) MESSAGE_HANDLER(WM_FILECLIENT_RESPONSE_RECEIVE,OnFileClientResponseReceive) // filemd5øvsQ MESSAGE_HANDLER(WM_FILEMD5_FINISH,OnFileMD5Finish) MESSAGE_HANDLER(WM_FILEMD5_ERROR,OnFileMD5Error) // ExtWebøvsQ MESSAGE_HANDLER(WM_STKEXTWEB_RESPONSE,OnMsgExtWebResReceive) MESSAGE_HANDLER(WM_STKEXTWEB_ERROR,OnMsgExtWebResError) // 9_úQ‡ech†‰Öv!j_9_—z MESSAGE_HANDLER(WM_DOCCOVERMODE,OnDocCoverMode) MESSAGE_HANDLER(WM_DOCCOVERMODE2,OnDocCoverMode2) //AM{vU_¶r`åwˆmo` MESSAGE_HANDLER(WM_AM_LOGINSTATUS,OnAMLoginStatueRes) // From Interface MESSAGE_HANDLER( WM_MBCFILES_SHAREMEMORY, OnMsgShareMemoryUploadFiles ) // íp.• MSG_WM_HOTKEY(OnHotKey) // Ytû|ß~íp.• // ÀhKmë_wc.• MSG_WM_KEYDOWN(OnKeyDown) MSG_WM_CREATE(OnCreate) MSG_WM_INITDIALOG(OnInitDialog) MSG_WM_CLOSE(OnClose) MSG_WM_SIZE(OnSize) MSG_WM_SIZING(OnSizing) MSG_WM_MOVING(OnMoving) MSG_WM_MOVE(OnMove) MSG_WM_TIMER_EX(OnTimer) MSG_WM_COMMAND(OnCommand) MSG_WM_LBUTTONDOWN(OnLButtonDown) MSG_WM_NCHITTEST(OnWndNcHitTest) CHAIN_MSG_MAP(SHostWnd) CHAIN_MSG_MAP(SDpiHandler<CMainDlg>) REFLECT_NOTIFICATIONS_EX() //CHAIN_MSG_MAP_2_IPC(m_conn.GetIpcHandle()) CHAIN_MSG_MAP_2_IPC(m_DocWnd.GetIpcHandle()) END_MSG_MAP() private: //// èlŒQû|ß~íp.• //void RegisterHotkey(); //// ÍSèlŒQû|ß~íp.• //void UnRegisterHotkey(); public: void OnHotKey(int nHotKeyID, UINT uModifiers, UINT uVirtKey); // íp.• void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags); void OnKeyDownCtrlV(); // ctrl + v protected: void OnEventKeyDownMainSearch(EventArgs *pEvt); public: bool FireErrorEventAsyncToNotifyCenter(CString strErrInfo); // Tåw-NÃ_ÑSˆmo` public: void SetSvrMgr( CMBServerMgr *pSvrMgr ); private: void InitUI( SGroup *pHeaderGroup,SGroup*pTailGroup ); void InitUserInfo( ); // RËYS(u7báOo` void UpdateUserInfo(); void DoMessageLoop(); public: void ShowTabPage( SGroup *pGroup ); public: void AutoScale(); private: bool GetFileLstDataObject(IDataObject *pDataObject,CStringArray & arFileLst); // —_0R‡eöNRhˆ„vpencù[aŒ private: // ۏ z„vYt bool ConnetExeSvr(CString &strErrInfo); // ޏ¥cۏ z g¡R CString GetCdnPort(); void UpdateSTKAppPack( ); private:// mbdocui void InitDocUISkin(); public: void SelPageSearch(); // ébsearchu˜ private: // —zãSMOn°‹U_ BOOL ReadWndBigWindowSize(); BOOL WriteWndBigWindowSize(); BOOL ReadWndPosition(); BOOL WriteWndPosition(); };