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

📄 apptreec.h

📁 一个完整的编辑器的代码(很值得参考
💻 H
字号:

#ifndef __APPTREEC_H__INCLUDED__
#define __APPTREEC_H__INCLUDED__

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

/////////////////////////////////////////////////////////////////////////////
// CAppTreeCtrl window

struct HTREEITEM2X
{
  HTREEITEM hBegin, hEnd;
};

#pragma warning ( disable : 4512 )
class CAppTreeCtrl : public CTreeCtrl
  {
    // Construction
public :
    CAppTreeCtrl ();

    // Attributes
public :
    CList<HTREEITEM, HTREEITEM> m_listSelected;

    // Operations
public :

    void CheckSelection ();
    void ClearSelection ();
    void ClearSelectionBut (HTREEITEM hButItem);
    UINT GetSelectedCount () const;
    POSITION GetFirstSelectedItemPosition () const;
    HTREEITEM GetNextSelectedItem(POSITION &pos) const;
    void SetSelectedTo (HTREEITEM hItem, LPARAM lParam);
    void SelectTo (HTREEITEM hItem);
    void AddToList (HTREEITEM hItem, LPARAM lParam);
    int GetChildren (HTREEITEM hItem, CList<HTREEITEM, HTREEITEM> &list, BOOL bSelf);
    BOOL EqualItem (TVITEM * pItem, LPCTSTR text, int image, LPARAM lParam, UINT mask);
    bool FindFirstItemAfter (bool (CAppTreeCtrl:: * FindFirstItem) (HTREEITEM hItem, LPARAM lParam), HTREEITEM hItem, LPARAM lParam, BOOL bSelf);
    bool FindFirstItemBack (bool (CAppTreeCtrl:: * FindFirstItem) (HTREEITEM hItem, LPARAM lParam), HTREEITEM hItem, LPARAM lParam, BOOL bSelf);
    bool FindFirstItemBefore (bool (CAppTreeCtrl:: * FindFirstItem) (HTREEITEM hItem, LPARAM lParam), HTREEITEM hItem, LPARAM lParam, BOOL bSelf);
    bool FindFirstItemInOrder (bool (CAppTreeCtrl:: * FindFirstItem) (HTREEITEM hItem, LPARAM lParam), HTREEITEM hItem, LPARAM lParam, BOOL bSelf);
    bool FindFirstItemPostOrder (bool (CAppTreeCtrl:: * FindFirstItem) (HTREEITEM hItem, LPARAM lParam), HTREEITEM hItem, LPARAM lParam, BOOL bSelf);
    bool FindFirstItemPreOrder (bool (CAppTreeCtrl:: * FindFirstItem) (HTREEITEM hItem, LPARAM lParam), HTREEITEM hItem, LPARAM lParam, BOOL bSelf);
    HTREEITEM FindItem (HTREEITEM hParent, LPCTSTR text, int image, LPARAM lParam, UINT mask, BOOL bSelf);
    HTREEITEM FindItemRecursive (HTREEITEM hParent, LPCTSTR text, int image, LPARAM lParam, UINT mask, BOOL bSelf);
    int GetItemLevel (HTREEITEM hItem);
    int GetItemCount (HTREEITEM hItem);
    int GetItemCountRecursive (HTREEITEM hItem);
    BOOL DataNotEqual (HTREEITEM hItem, LPARAM lParam);
    int GetTrueItemCount (BOOL (CAppTreeCtrl:: * IsTrue) (HTREEITEM hItem, LPARAM lParam), HTREEITEM hItem, LPARAM lParam, BOOL bSelf);
    int GetTrueItemCountRecursive (BOOL (CAppTreeCtrl:: * IsTrue) (HTREEITEM hItem, LPARAM lParam), HTREEITEM hItem, LPARAM lParam, BOOL bSelf);
    void ProcessItemsAfter (void (CAppTreeCtrl:: * ProcessItem) (HTREEITEM hItem, LPARAM lParam), HTREEITEM hItem, LPARAM lParam, BOOL bSelf);
    void ProcessItemsBack (void (CAppTreeCtrl:: * ProcessItem) (HTREEITEM hItem, LPARAM lParam), HTREEITEM hItem, LPARAM lParam, BOOL bSelf);
    void ProcessItemsBefore (void (CAppTreeCtrl:: * ProcessItem) (HTREEITEM hItem, LPARAM lParam), HTREEITEM hItem, LPARAM lParam, BOOL bSelf);
    void ProcessItemsInOrder (void (CAppTreeCtrl:: * ProcessItem) (HTREEITEM hItem, LPARAM lParam), HTREEITEM hItem, LPARAM lParam, BOOL bSelf);
    void ProcessItemsPostOrder (void (CAppTreeCtrl:: * ProcessItem) (HTREEITEM hItem, LPARAM lParam), HTREEITEM hItem, LPARAM lParam, BOOL bSelf);
    void ProcessItemsPreOrder (void (CAppTreeCtrl:: * ProcessItem) (HTREEITEM hItem, LPARAM lParam), HTREEITEM hItem, LPARAM lParam, BOOL bSelf);
    virtual void Paint (void);

    // Overrides
    // ClassWizard generated virtual function overrides
    //{{AFX_VIRTUAL(CAppTreeCtrl)
public :
    virtual BOOL PreTranslateMessage (MSG * pMsg);
    //}}AFX_VIRTUAL

    // Implementation
public :
    virtual ~CAppTreeCtrl ();

    // Generated message map functions
protected :
    //{{AFX_MSG(CAppTreeCtrl)
    afx_msg int OnCreate (LPCREATESTRUCT lpCreateStruct);
    //}}AFX_MSG

    DECLARE_MESSAGE_MAP ()
  };
#pragma warning ( default : 4512 )

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

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // __APPTREEC_H__INCLUDED__

⌨️ 快捷键说明

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