• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆-341  評論-2670  文章-0  trackbacks-0
                囧,實在是囧啊。比起ListView,TreeView還真是簡單了無窮多倍,一個晚上就搞定了。貼貼代碼和圖。
              1 /*********************************************************************************************************
              2 Tree View
              3 *********************************************************************************************************/
              4         
              5         class VL_WinTreeViewItem : public VL_Base
              6         {
              7             friend class VL_WinTreeView;
              8         protected:
              9             HWND                    FHandle;
             10             HTREEITEM                FItem;
             11 
             12             VL_WinTreeViewItem(HWND Handle , HTREEITEM Item);
             13         public:
             14             VL_WinTreeViewItem(const VL_WinTreeViewItem& Item);
             15             VL_WinTreeViewItem();
             16             VL_WinTreeViewItem& operator=(const VL_WinTreeViewItem& Item);
             17             operator VBool();
             18 
             19             VL_WinTreeViewItem        InsertAtLast(VUnicodeString Text , VInt ImageIndex=-1 , VInt SelectedImageIndex=-1);
             20             VL_WinTreeViewItem        InsertAtFirst(VUnicodeString Text , VInt ImageIndex=-1 , VInt SelectedImageIndex=-1);
             21             VL_WinTreeViewItem        InsertAfter(VUnicodeString Text , VInt ImageIndex=-1 , VInt SelectedImageIndex=-1);
             22             void                    DeleteSelf();
             23 
             24             VL_WinTreeViewItem        GetParent();
             25             VL_WinTreeViewItem        GetFirstChild();
             26             VL_WinTreeViewItem        GetPrevious();
             27             VL_WinTreeViewItem        GetNext();
             28             VL_WinTreeViewItem        GetNextVisible();
             29             VL_WinTreeViewItem        GetPrevVisible();
             30             VL_WinTreeViewItem        GetNextSelected();
             31 
             32             void                    SetDropTarget();
             33             void                    SetFirstVisible();
             34 
             35             VUnicodeString            GetText();
             36             void                    SetText(VUnicodeString Value);
             37 
             38             VInt                    GetImageIndex();
             39             void                    SetImageIndex(VInt Value);
             40 
             41             VInt                    GetSelectedImageIndex();
             42             void                    SetSelectedImageIndex(VInt Value);
             43 
             44             VPointer                GetCustomData();
             45             void                    SetCustomData(VPointer Value);
             46 
             47             VBool                    GetBoldState();
             48             void                    SetBoldState(VBool Value);
             49 
             50             VBool                    GetCutState();
             51             void                    SetCutState(VBool Value);
             52 
             53             VBool                    GetDropHilitedState();
             54             void                    SetDropHilitedState(VBool Value);
             55 
             56             VBool                    GetExpendedState();
             57             void                    SetExpendedState(VBool Value);
             58 
             59             VBool                    GetSelectedState();
             60             void                    SetSelectedState(VBool Value);
             61 
             62             VBool                    GetChecked();
             63             void                    SetChecked(VBool Value);
             64 
             65             void                    EnsureVisible();
             66             void                    Expand();
             67             void                    Collapse();
             68             void                    Toggle();
             69         };
             70 
             71         VL_DEFINE_VOID_EVENT    (VE_TreeViewItemEvent    ,(Sender , Item)                    ,(VL_Base* Sender , VL_WinTreeViewItem Item));
             72         VL_DEFINE_VOID_EVENT    (VE_TreeViewVerifyEvent    ,(Sender , Item , Accept)            ,(VL_Base* Sender , VL_WinTreeViewItem Item , VBool& Accept));
             73         VL_DEFINE_VOID_EVENT    (VE_TreeViewEditEvent    ,(Sender , Item , Accept , Text)    ,(VL_Base* Sender , VL_WinTreeViewItem Item , VBool& Accept , VUnicodeString Text));
             74 
             75         class VL_WinTreeView : public VL_WinControl
             76         {
             77         protected:
             78             VL_WinImageList*        FNormalImageList;
             79             VL_WinImageList*        FStateImageList;
             80         public:
             81             VL_WinTreeView(VL_WinContainer* Parent);
             82             ~VL_WinTreeView();
             83             LRESULT                    ProcessMessage(UINT Message , WPARAM& wParam , LPARAM& lParam , VBool& CallDefaultProcedure);
             84 
             85             VE_NotifyEvent            OnClick;
             86             VE_NotifyEvent            OnDbClick;
             87             VE_NotifyEvent            OnRightClick;
             88             VE_NotifyEvent            OnRightDbClick;
             89             VE_TreeViewItemEvent    OnBeginDrag;
             90             VE_TreeViewItemEvent    OnBeginRightDrag;
             91             VE_TreeViewEditEvent    OnBeginLabelEdit;
             92             VE_TreeViewEditEvent    OnEndLabelEdit;
             93             VE_TreeViewItemEvent    OnItemExpanding;
             94             VE_TreeViewItemEvent    OnItemExpanded;
             95             VE_TreeViewVerifyEvent    OnItemSelecting;
             96             VE_TreeViewItemEvent    OnItemSelected;
             97 
             98             VL_WinImageList*        GetNormalImageList();
             99             void                    SetNormalImageList(VL_WinImageList* ImageList);
            100 
            101             VL_WinImageList*        GetStateImageList();
            102             void                    SetStateImageList(VL_WinImageList* ImageList);
            103 
            104             COLORREF                GetLineColor();
            105             void                    SetLineColor(COLORREF Value);
            106 
            107             COLORREF                GetTextColor();
            108             void                    SetTextColor(COLORREF Value);
            109 
            110             COLORREF                GetBackColor();
            111             void                    SetBackColor(COLORREF Value);
            112 
            113             /**********************************************************
            114             Styles
            115             **********************************************************/
            116 
            117             VBool                    GetShowCheckBoxes();
            118             void                    SetShowCheckBoxes(VBool Value);
            119 
            120             VBool                    GetEnableDragDrop();
            121             void                    SetEnableDragDrop(VBool Value);
            122 
            123             VBool                    GetEditable();
            124             void                    SetEditable(VBool Value);
            125 
            126             VBool                    GetFullRowSelect();
            127             void                    SetFullRowSelect(VBool Value);
            128 
            129             VBool                    GetHasButtons();
            130             void                    SetHasButtons(VBool Value);
            131 
            132             VBool                    GetHasLines();
            133             void                    SetHasLines(VBool Value);
            134 
            135             VBool                    GetAlwaysShowSelection();
            136             void                    SetAlwaysShowSelection(VBool Value);
            137 
            138             VBool                    GetDimmedCheckBoxes();
            139             void                    SetDimmedCheckBoxes(VBool Value);
            140 
            141             VBool                    GetExclusionCheckBoxes();
            142             void                    SetExclusionCheckBoxes(VBool Value);
            143 
            144             VBool                    GetFadeButton();
            145             void                    SetFadeButton(VBool Value);
            146 
            147             /**********************************************************
            148             Actions
            149             **********************************************************/
            150 
            151             void                    EditLabel(VL_WinTreeViewItem Item);
            152             void                    FinishEditLabel();
            153             void                    CancelEditLabel();
            154 
            155             /**********************************************************
            156             Items
            157             **********************************************************/
            158 
            159             VL_WinTreeViewItem        AddRootItem(VUnicodeString Text , VInt ImageIndex=-1 , VInt SelectedImageIndex=-1);
            160             VL_WinTreeViewItem        GetFirstRoot();
            161             VL_WinTreeViewItem        GetCurrentSelectedItem();
            162             VL_WinTreeViewItem        GetFirstVisible();
            163             VL_WinTreeViewItem        GetLastVisible();
            164             VL_WinTreeViewItem        GetDropHighlighted();
            165             void                    Clear();
            166         };

            posted on 2008-08-11 05:05 陳梓瀚(vczh) 閱讀(2301) 評論(6)  編輯 收藏 引用 所屬分類: C++

            評論:
            # re: TreeView完成 2008-08-11 07:02 | 沈臻豪(foxtail)
            vczh一出,誰與爭鋒  回復  更多評論
              
            # re: TreeView完成 2008-08-11 18:37 | 巫云
            只有個頭文件啊……  回復  更多評論
              
            # re: TreeView完成 2008-08-13 02:58 | 請教
            想問一下VL_Base是什么,是你自己寫的基類?
            還有之前的那些vl++的文件夾  回復  更多評論
              
            # re: TreeView完成 2008-08-13 03:39 | 陳梓瀚(vczh)
            VL++庫跟GUI無關的代碼基本上都可以在我首頁置頂的Vczh Free Script 2.0 beta中找到,跟GUI有關的代碼要我吧東西都做完了才放出來。  回復  更多評論
              
            # re: TreeView完成 2008-08-23 16:09 | mwxkingboy@gmail.com
            這種界面是vista下面做的還是VS2008做的?

              回復  更多評論
              
            # re: TreeView完成 2008-08-23 23:23 | 陳梓瀚(vczh)
            vista  回復  更多評論
              
            久久本道综合久久伊人| 久久综合狠狠色综合伊人| 狠狠色伊人久久精品综合网| 国产成人精品久久免费动漫| 日韩亚洲欧美久久久www综合网| 91精品日韩人妻无码久久不卡| 国产三级精品久久| 中文字幕日本人妻久久久免费 | 国产精品内射久久久久欢欢| 久久国产成人午夜aⅴ影院| 日本WV一本一道久久香蕉| 久久久免费精品re6| 久久强奷乱码老熟女网站| 日韩人妻无码精品久久免费一 | 国产成人久久精品二区三区| 欧美久久亚洲精品| 久久精品人人做人人妻人人玩| 99久久亚洲综合精品网站| 精品久久久久久久国产潘金莲| 国产精品久久永久免费| 亚洲欧洲久久av| 久久婷婷国产麻豆91天堂| 亚洲va久久久久| 精品久久人人爽天天玩人人妻| 亚洲狠狠婷婷综合久久蜜芽| 久久精品国产一区二区电影| 久久免费的精品国产V∧| 国产精品久久久久久五月尺| 久久精品中文字幕一区| 久久96国产精品久久久| 伊人久久大香线焦AV综合影院| 久久久久久亚洲精品不卡| 国产精品久久精品| 丰满少妇人妻久久久久久| 亚洲级αV无码毛片久久精品| 亚洲午夜精品久久久久久浪潮 | 成人妇女免费播放久久久| 久久久亚洲欧洲日产国码是AV| 久久99久久无码毛片一区二区| 国产精品欧美久久久久无广告| 久久99久久无码毛片一区二区 |