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

📄 mytreectrl.h

📁 是自己开发的程序
💻 H
字号:
#ifndef MYTREECTRL_H#define MYTREECTRL_H#include "wx/image.h"#include "wx/imaglist.h"#include "wx/treectrl.h"#include "wx/math.h"#define USE_GENERIC_TREECTRL 0#if USE_GENERIC_TREECTRL	#include "wx/generic/treectlg.h"	#ifndef wxTreeCtrl		#define wxTreeCtrl wxGenericTreeCtrl		#define sm_classwxTreeCtrl sm_classwxGenericTreeCtrl	#endif#endifclass MyTreeItemData : public wxTreeItemData{public:    MyTreeItemData(const wxString& desc) : m_desc(desc) { }    void ShowInfo(wxTreeCtrl *tree);    const wxChar *GetDesc() const { return m_desc.c_str(); }private:    wxString m_desc;};class MyTreeCtrl : public wxTreeCtrl{public:    enum    {        TreeCtrlIcon_File,        TreeCtrlIcon_FileSelected,        TreeCtrlIcon_Folder,        TreeCtrlIcon_FolderSelected,        TreeCtrlIcon_FolderOpened    };    MyTreeCtrl() { }    MyTreeCtrl(wxWindow *parent, const wxWindowID id,               const wxPoint& pos, const wxSize& size,               long style);    virtual ~MyTreeCtrl(){};	void InitTree();	void InitTrees();    void OnBeginDrag(wxTreeEvent& event);    void OnBeginRDrag(wxTreeEvent& event);    void OnEndDrag(wxTreeEvent& event);    void OnBeginLabelEdit(wxTreeEvent& event);    void OnEndLabelEdit(wxTreeEvent& event);    void OnDeleteItem(wxTreeEvent& event);    void OnContextMenu(wxContextMenuEvent& event);    void OnItemMenu(wxTreeEvent& event);    void OnGetInfo(wxTreeEvent& event);    void OnSetInfo(wxTreeEvent& event);    void OnItemExpanded(wxTreeEvent& event);    void OnItemExpanding(wxTreeEvent& event);    void OnItemCollapsed(wxTreeEvent& event);    void OnItemCollapsing(wxTreeEvent& event);    void OnSelChanged(wxTreeEvent& event);    void OnSelChanging(wxTreeEvent& event);    void OnTreeKeyDown(wxTreeEvent& event);    void OnItemActivated(wxTreeEvent& event);    void OnItemRClick(wxTreeEvent& event);    void OnRMouseDown(wxMouseEvent& event);    void OnRMouseUp(wxMouseEvent& event);    void OnRMouseDClick(wxMouseEvent& event);    void GetItemsRecursively(const wxTreeItemId& idParent,                             wxTreeItemIdValue cookie = 0);    void CreateImageList(int size = 16);    void CreateButtonsImageList(int size = 11);    void AddTestItemsToTree(size_t numChildren, size_t depth);    void DoSortChildren(const wxTreeItemId& item, bool reverse = false)        { m_reverseSort = reverse; wxTreeCtrl::SortChildren(item); }    void DoEnsureVisible() { if (m_lastItem.IsOk()) EnsureVisible(m_lastItem); }    void DoToggleIcon(const wxTreeItemId& item);    void ShowMenu(wxTreeItemId id, const wxPoint& pt);    int ImageSize(void) const { return m_imageSize; }    void SetLastItem(wxTreeItemId id) { m_lastItem = id; }protected:    virtual int OnCompareItems(const wxTreeItemId& i1, const wxTreeItemId& i2);    // is this the test item which we use in several event handlers?    bool IsTestItem(const wxTreeItemId& item)    {        // the test item is the first child folder        return GetItemParent(item) == GetRootItem() && !GetPrevSibling(item);    }private:	bool m_showImages;    void AddItemsRecursively(const wxTreeItemId& idParent,                             size_t nChildren,                             size_t depth,                             size_t folder);    void LogEvent(const wxChar *name, const wxTreeEvent& event);    int          m_imageSize;               // current size of images    bool         m_reverseSort;             // flag for OnCompareItems    wxTreeItemId m_lastItem,                // for OnEnsureVisible()                 m_draggedItem;             // item being dragged right now    // NB: due to an ugly wxMSW hack you _must_ use DECLARE_DYNAMIC_CLASS()    //     if you want your overloaded OnCompareItems() to be called.    //     OTOH, if you don't want it you may omit the next line - this will    //     make default (alphabetical) sorting much faster under wxMSW.    DECLARE_DYNAMIC_CLASS(MyTreeCtrl)    DECLARE_EVENT_TABLE()};// menu and control idsenum{    TreeTest_Quit = wxID_EXIT,    TreeTest_About = wxID_ABOUT,    TreeTest_TogButtons = wxID_HIGHEST,    TreeTest_TogTwist,    TreeTest_TogLines,    TreeTest_TogEdit,    TreeTest_TogHideRoot,    TreeTest_TogRootLines,    TreeTest_TogBorder,    TreeTest_TogFullHighlight,    TreeTest_SetFgColour,    TreeTest_SetBgColour,    TreeTest_ResetStyle,    TreeTest_ToDev,    TreeTest_ToReady,    TreeTest_DumpSelected,    TreeTest_Count,    TreeTest_CountRec,    TreeTest_Sort,    TreeTest_SortRev,    TreeTest_SetBold,    TreeTest_ClearBold,    TreeTest_Rename,    TreeTest_Delete,    TreeTest_DeleteChildren,    TreeTest_DeleteAll,    TreeTest_Recreate,    TreeTest_ToggleImages,    TreeTest_ToggleButtons,    TreeTest_SetImageSize,    TreeTest_ToggleSel,    TreeTest_CollapseAndReset,    TreeTest_EnsureVisible,    TreeTest_AddItem,    TreeTest_InsertItem,    TreeTest_IncIndent,    TreeTest_DecIndent,    TreeTest_IncSpacing,    TreeTest_DecSpacing,    TreeTest_ToggleIcon,    TreeTest_Select,    TreeTest_Unselect,    TreeTest_SelectRoot,	TreeTest_Ctrl = 1000};//}#endif // MAIN_H

⌨️ 快捷键说明

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