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