⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 treeview.h

📁 visual c++ 实例编程
💻 H
字号:
/*
	JumpToIt - PC Magazine password utility

	Copyright (c) 1999 Ziff-Davis Publishing Company.  All rights reserved.
	First published in PC Magazine, US Edition.

	Written by Steven E. Sipe


	This file defines the link tree view class.
*/

#include "doc.h"

class CJTITreeView : public CTreeView
{
protected: 
	CJTITreeView();
	DECLARE_DYNCREATE(CJTITreeView)


protected:
	int m_nLevel;
	int m_nIndex;
	int m_nGroupCount;
	int *m_pMap;
	HTREEITEM m_htreeItemDrag;
	HTREEITEM m_htreeItemDrop;
	BOOL m_bDragging;
	TV_ITEM	m_tvItem;
	TCHAR m_szBuffer[500];
	CImageList m_ImageList;
	CImageList *m_pImageList;
	CTreeCtrl *m_pTree;
	CArchive *m_pArchive;
	CComboBox *m_pCombo;
	int m_nDefGroup;

	int m_cyTop;
	int m_cyBottom;

protected:
	int GetScrollType(CPoint pt);

	BOOL ArchiveItem();
	BOOL ShowItem();
	BOOL ClearItem();
	HTREEITEM MoveNode(HTREEITEM htreeItem, HTREEITEM htreeItemParent, HTREEITEM htreeItemSibling=NULL);
	BOOL RecurseItem(HTREEITEM hTreeItem, BOOL (CJTITreeView::*lpfnCallback)(void));
	BOOL IsChild(HTREEITEM htreeItemChild, HTREEITEM htreeItemParent);

	void ShowMenu(CPoint point);
	void ClearTree(HTREEITEM htreeItem);

// Attributes
public:
	CJTIDoc* GetDocument();
	CTreeCtrl *GetTreePtr() { return m_pTree; }

// Operations
public:
	void DisplayTree(CComboBox *pCombo);
	void SaveTree(CArchive& ar, int *pMap, HTREEITEM htreeStart = NULL);
	int LoadTree(CArchive& ar, BOOL bReset=TRUE);

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CJTITreeView)
	public:
	virtual void OnDraw(CDC* pDC);  
	virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
	virtual BOOL PreTranslateMessage(MSG* pMsg);
	protected:
	virtual void OnInitialUpdate(); 
	//}}AFX_VIRTUAL

// Implementation
public:
	virtual ~CJTITreeView();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

protected:

// Generated message map functions
protected:
	//{{AFX_MSG(CJTITreeView)
	afx_msg void OnBeginDrag(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
	afx_msg void OnTimer(UINT nIDEvent);
	afx_msg void OnMouseMove(UINT nFlags, CPoint point);
	afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
	afx_msg void OnAddItem();
	afx_msg void OnDeleteItem();
	afx_msg void OnRclick(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnItemProperties();
	afx_msg void OnUpdateItemProperties(CCmdUI* pCmdUI);
	afx_msg void OnSelChanged(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnUpdateDeleteItem(CCmdUI* pCmdUI);
	afx_msg void OnUpdateEditCopy(CCmdUI* pCmdUI);
	afx_msg void OnUpdateEditCut(CCmdUI* pCmdUI);
	afx_msg void OnUpdateEditPaste(CCmdUI* pCmdUI);
	afx_msg void OnEditCopy();
	afx_msg void OnPasteDefault();
	afx_msg void OnUpdatePasteDefault(CCmdUI* pCmdUI);
	afx_msg void OnMoveDown();
	afx_msg void OnUpdateMoveDown(CCmdUI* pCmdUI);
	afx_msg void OnMoveUp();
	afx_msg void OnUpdateMoveUp(CCmdUI* pCmdUI);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

#ifndef _DEBUG  
inline CJTIDoc* CJTITreeView::GetDocument()
   { return (CJTIDoc*)m_pDocument; }
#endif

/////////////////////////////////////////////////////////////////////////////

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -