• <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)單了無窮多倍,一個(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) 閱讀(2313) 評(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)教
            想問一下VL_Base是什么,是你自己寫的基類?
            還有之前的那些vl++的文件夾  回復(fù)  更多評(píng)論
              
            # re: TreeView完成 2008-08-13 03:39 | 陳梓瀚(vczh)
            VL++庫(kù)跟GUI無關(guān)的代碼基本上都可以在我首頁(yè)置頂?shù)腣czh Free Script 2.0 beta中找到,跟GUI有關(guān)的代碼要我吧東西都做完了才放出來。  回復(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)
            国产精品久久久亚洲| 欧美午夜A∨大片久久| 蜜臀久久99精品久久久久久| 大香网伊人久久综合网2020| 久久激情亚洲精品无码?V| 久久久久亚洲AV综合波多野结衣| 超级碰碰碰碰97久久久久| 久久亚洲欧美国产精品| 久久www免费人成精品香蕉| 97精品伊人久久大香线蕉| 久久精品中文騷妇女内射| 久久久久综合国产欧美一区二区| 亚洲AV无码久久精品色欲 | 久久久久久久尹人综合网亚洲 | 久久精品国产99久久香蕉| 亚洲AV日韩精品久久久久| 国产亚洲美女精品久久久| 久久亚洲中文字幕精品有坂深雪 | 人妻精品久久无码专区精东影业 | 久久精品国产99久久无毒不卡 | 婷婷国产天堂久久综合五月| 久久精品草草草| 久久人妻少妇嫩草AV无码专区| 97超级碰碰碰碰久久久久| 久久99国产综合精品免费| 亚洲精品乱码久久久久66| 91麻豆国产精品91久久久| 亚洲国产精品一区二区久久hs | 久久精品国产亚洲av水果派| 2021国内久久精品| 久久亚洲国产最新网站| 久久久久久久精品妇女99| 久久www免费人成看片| 亚洲中文字幕无码久久综合网| 色婷婷综合久久久久中文一区二区 | 91久久精一区二区三区大全| 99久久777色| 免费久久人人爽人人爽av| 综合人妻久久一区二区精品| 国产成年无码久久久久毛片| 国产精品成人无码久久久久久 |