• <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  評(píng)論-2670  文章-0  trackbacks-0
                囧,實(shí)在是囧啊。比起ListView,TreeView還真是簡(jiǎn)單了無(wú)窮多倍,一個(gè)晚上就搞定了。貼貼代碼和圖。
              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) 閱讀(2295) 評(píng)論(6)  編輯 收藏 引用 所屬分類: C++

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

              回復(fù)  更多評(píng)論
              
            # re: TreeView完成 2008-08-23 23:23 | 陳梓瀚(vczh)
            久久人人爽人人爽人人av东京热| 国产成人久久精品麻豆一区| 色偷偷偷久久伊人大杳蕉| 亚洲人成网亚洲欧洲无码久久| 久久这里只有精品18| 91精品免费久久久久久久久| 亚洲?V乱码久久精品蜜桃| 波多野结衣AV无码久久一区| 99久久免费国产特黄| 久久久久久A亚洲欧洲AV冫| 久久久久久久波多野结衣高潮| 久久久久人妻精品一区二区三区| 亚洲一区中文字幕久久| 中文字幕精品久久| 国产精品久久久久影院嫩草| 欧美成a人片免费看久久| 久久精品国产亚洲av影院| 久久久艹| 丰满少妇人妻久久久久久| 欧美激情精品久久久久久久九九九| 亚洲精品tv久久久久久久久 | 久久这里只有精品18| 曰曰摸天天摸人人看久久久| yy6080久久| 国产精品热久久无码av| 无码人妻少妇久久中文字幕蜜桃| 国产成人久久久精品二区三区| 亚洲精品无码久久久久久| 国产免费久久精品丫丫| 国内精品九九久久久精品| 伊人色综合久久天天网| 中文精品久久久久国产网址 | 深夜久久AAAAA级毛片免费看| 久久综合给合久久国产免费| 亚洲国产精品综合久久网络| 亚洲精品高清久久| 国产精品久久久久久一区二区三区| 久久丫忘忧草产品| 久久无码AV中文出轨人妻| 久久精品免费观看| 久久精品国产精品亚洲毛片|