www.pudn.com > NetPaw.rar > LeftView.h


// LeftView.h : CLeftView 类的接口 
// 
#pragma once 
 
#define MAX_FOLDER_ICONS 9 // should change according to IDB_BMPFOLDERS 
#define HALF_FOLDER_ICONS (MAX_FOLDER_ICONS/2) // distance between selected and origin icon 
 
 
class CNetPawDoc; 
class CLeftView : public CTreeView 
{ 
protected: // 仅从序列化创建 
	CLeftView(); 
	DECLARE_DYNCREATE(CLeftView) 
 
// 属性 
public: 
	CNetPawDoc* GetDocument(); 
 
// 操作 
public: 
 
// 重写 
	public: 
	virtual BOOL PreCreateWindow(CREATESTRUCT& cs); 
	protected: 
	virtual void OnInitialUpdate(); // 构造后第一次调用 
	virtual void OnUpdate(CView* /*pSender*/, LPARAM /*lHint*/, CObject* /*pHint*/); 
 
// 实现 
public: 
	virtual ~CLeftView(); 
#ifdef _DEBUG 
	virtual void AssertValid() const; 
	virtual void Dump(CDumpContext& dc) const; 
#endif 
 
// 生成的消息映射函数 
protected: 
	afx_msg void OnRButtonDown(UINT nFlags, CPoint point); 
	afx_msg void OnTvnItemExpanding(NMHDR *pNMHDR, LRESULT *pResult); 
	afx_msg void OnTvnSelChanged(NMHDR *pNMHDR, LRESULT *pResult); 
	afx_msg void OnTvnBeginLabelEdit(NMHDR *pNMHDR, LRESULT *pResult); 
	afx_msg void OnTvnEndLabelEdit(NMHDR *pNMHDR, LRESULT *pResult); 
	afx_msg void OnFolderNew(); 
	afx_msg void OnFolderRename(); 
	afx_msg void OnFolderDel(); 
	afx_msg void OnUpdateFolderNew(CCmdUI *pCmdUI); 
	afx_msg void OnUpdateFolderDel(CCmdUI *pCmdUI); 
	afx_msg void OnUpdateFolderRename(CCmdUI *pCmdUI); 
	afx_msg void OnInitMenuPopup(CMenu* pPopupMenu, UINT nIndex, BOOL bSysMenu); 
	DECLARE_MESSAGE_MAP() 
 
protected: 
	CImageList* m_pImageList; 
 
public: 
	void FillTreeCtrl(void); 
	void AddDummyChild(HTREEITEM hItem, BOOL bFind); 
	void AddRealChildren(HTREEITEM hParent); 
	void GetFullPathOfItem(HTREEITEM hItem, CString& sPathName); 
	BOOL IsItemDirectory(HTREEITEM hItem); 
	void DelDirectory(LPCTSTR szDirName); 
	int GetItemID(HTREEITEM hItem); 
}; 
 
#ifndef _DEBUG  // LeftView.cpp 的调试版本 
inline CNetPawDoc* CLeftView::GetDocument() 
   { return reinterpret_cast(m_pDocument); } 
#endif