#pragma once #include "stdafx.h" #include "MBAMContactCommomFunction.h" #include "SUserTreeView.h" // CMBContactTreeViewAdapter command target struct ContactTreeItemData { int nType; // ¸Ã½ÚµãµÄÀàÐÍ CString strID; CString strName; void *pData; ContactTreeItemData(){ nType =0; } }; /************************************************************************/ /* UserTreeViewµÄnodeµÄAdapter */ /************************************************************************/ class CMBContactTreeViewAdapter : public STreeAdapterBase { public: CMBContactTreeViewAdapter(); virtual ~CMBContactTreeViewAdapter(); private: virtual void getView(SOUI::HTREEITEM loc, SWindow * pItem, pugi::xml_node xmlTemplate); ; private: CMBAMContactCommomFunction *m_pAMCommomFunction; int m_nSelectStyle; BOOL m_bIsLargeIco; //´óͼ±êģʽ SUserTreeView *m_pTreeView; public: void SetTreeView( SUserTreeView *pTreeView ); void SetAMContactCommomFunctonPtr( CMBAMContactCommomFunction *pAMCommomFunction); void SetSelectData(int nSelectStyle); //void InitData(); // void SetHostHwnd( HWND hWnd ); ContactTreeItemData &GetItemData( SOUI::HTREEITEM hItem ); void GetLstPathToTreeItem( SOUI::HTREEITEM &hItem,list & lstObj); SOUI::HTREEITEM GetItemByID( SOUI::HTREEITEM & hSelItem,CString strID ); CString GetIDByItem( SOUI::HTREEITEM hItem ); public: void ExpandTreeItem( SOUI::HTREEITEM hItem ); void ExpandParentTreeItem( SOUI::HTREEITEM hItem ); void RemoveChildTreeItem( SOUI::HTREEITEM hItem ); void GetOrgItemIdAndType(const SOUI::HTREEITEM &hItem,CString &strID, int &nType); SOUI::HTREEITEM GetTreeChildItem( SOUI::HTREEITEM &hItem,CString strID, int nType); private: bool OnItemClick(EventArgs *pEvt); bool OnItemDblClick(EventArgs *pEvt); // Ë«»÷ bool OnItemRClick(EventArgs *pEvt); // ÓÒ¼ü bool OnItemSelUserClick(EventArgs *pEvt); // Ñ¡ÖÐ bool OnItemMouserHover(EventArgs *pEvt); // Êó±ê½¹µãÔÚ½ÚµãÉÏ bool OnItemMouserLeave(EventArgs *pEvt); // Êó±ê½¹µãÒÆ³ö½Úµã };