MFC中treeview控件使用方法

MFC中treeview控件使用方法

ID:37710888

大小:33.50 KB

頁(yè)數(shù):8頁(yè)

時(shí)間:2019-05-29

MFC中treeview控件使用方法_第1頁(yè)
MFC中treeview控件使用方法_第2頁(yè)
MFC中treeview控件使用方法_第3頁(yè)
MFC中treeview控件使用方法_第4頁(yè)
MFC中treeview控件使用方法_第5頁(yè)
資源描述:

《MFC中treeview控件使用方法》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、MFCTreeview控件???方法1,用InsertItem添加節(jié)點(diǎn)參數(shù):文字,圖標(biāo),父節(jié)點(diǎn)返回:HTREEITEM示例:添加一系列節(jié)點(diǎn)HTREEITEMhItem=m_Tree.InsertItem("root",NULL,NULL);///root就是節(jié)點(diǎn)的標(biāo)題inti,j;for(i=0;i<4;i++){HTREEITEMhSubItem=m_Tree.InsertItem("item",NULL,NULL,hItem);for(j=0;j<3;j++){m_Tree.InsertItem("subitem",NULL,NULL,hSubIte

2、m);}}InsertItem函數(shù)的第一個(gè)參數(shù)就是設(shè)置他的節(jié)點(diǎn)標(biāo)題2.,用ModifyStyle設(shè)置風(fēng)格參數(shù):取消的風(fēng)格,增加的風(fēng)格示例:在對(duì)話框初始化時(shí)設(shè)置風(fēng)格BOOLCMfc1Dlg::OnInitDialog(){//...m_Tree.ModifyStyle(NULL,TVS_HASBUTTONS

3、TVS_HASLINES

4、TVS_LINESATROOT);}3,用DeleteItem刪除節(jié)點(diǎn)4,用.DeleteAllItems刪除全部節(jié)點(diǎn)5,.用Expand展開/收縮節(jié)點(diǎn)參數(shù):節(jié)點(diǎn)HTREEITEM,展開/收縮示例:m_Tree.Expand(

5、hItem,TVE_EXPAND);/////////////////////////////////////////////////////////CTreeCtrl的概述cc++vcCTreeCtrl在三種不同情況下創(chuàng)建的方式1、如果要在對(duì)話框窗口上創(chuàng)建樹形控件,你需要在對(duì)話框類中定義一個(gè)CTreeCtrl類型的成員變量。2、如果樹形控件是一個(gè)子窗口,你可以使用CTreeCtrl::Create()來(lái)構(gòu)建樹形空間對(duì)象。3、如果你使用了CViewTree對(duì)象,那么你需要使用CViewTree::GetTreeCtrl()獲得對(duì)樹形控件的引用如果你想在你

6、的控件中使用圖像,需要通過(guò)CImageList::SetImageList()來(lái)設(shè)置一個(gè)圖像列表。你也可以通過(guò)使用CTreeCtrl::SetIndent()設(shè)置子項(xiàng)縮進(jìn)的寬度。一個(gè)最好的使用這些函數(shù)的時(shí)機(jī)是在CDialog::OnInitDialog()或CView::OnInitalUpdate()中。可以通過(guò)調(diào)用CTreeCtrl::InsertItem()向樹形控件中添加數(shù)據(jù),每次添加一個(gè)數(shù)據(jù)項(xiàng)。這個(gè)函數(shù)將返回一個(gè)指向這個(gè)數(shù)據(jù)項(xiàng)的句柄,這個(gè)句柄在后面會(huì)使用到,例如在后面添加這個(gè)數(shù)據(jù)項(xiàng)的子數(shù)據(jù)項(xiàng)的時(shí)候。一個(gè)最好的使用這個(gè)函數(shù)的時(shí)機(jī)是在CDialog

7、::OnInitDialog()或CView::OnInitalUpdate()中。當(dāng)用戶和樹形控件交互時(shí),它將會(huì)發(fā)送不同的通知消息。你可以通過(guò)在控件窗口的消息映射表中添加ON_NOTIFY_REFLECT宏或在控件窗口的父窗口的消息映射表中添加ON_NOTIFY來(lái)指定一個(gè)函數(shù)處理每個(gè)你想處理的消息。通過(guò)調(diào)用樹形控件不同的Set成員函數(shù)去設(shè)置它的值,包括子數(shù)據(jù)項(xiàng)縮進(jìn)寬度、文本、圖像或者和控件相關(guān)的數(shù)據(jù)。使用不同的Get成員函數(shù)來(lái)檢查控件的內(nèi)容。你也可以用允許你接受指定數(shù)據(jù)項(xiàng)的父項(xiàng)、子項(xiàng)和兄弟項(xiàng)的函數(shù)得到樹形控件的內(nèi)容。你甚至可以存儲(chǔ)某一結(jié)點(diǎn)的子項(xiàng)。當(dāng)你在

8、處理這個(gè)控件時(shí),確定它確實(shí)被銷毀。如果樹形控件是在一個(gè)對(duì)話框中或視圖中,它和CTreeCtrl對(duì)象會(huì)自動(dòng)被銷毀,如果不是,你需要保證銷毀控件和CTreeCtrl對(duì)象//////////////////////////////////////////////////////////CTreeCtrl的一些操作樹形控件可以用于樹形的結(jié)構(gòu),其中有一個(gè)根接點(diǎn)(Root)然后下面有許多子結(jié)點(diǎn),而每個(gè)子結(jié)點(diǎn)上有允許有一個(gè)或多個(gè)或沒有子結(jié)點(diǎn)。MFC中使用CTreeCtrl類來(lái)封裝樹形控件的各種操作。通過(guò)調(diào)用BOOLCreate(DWORDdwStyle,constRE

9、CT&rect,CWnd*pParentWnd,UINTnID);創(chuàng)建一個(gè)窗口,dwStyle中可以使用以下一些樹形控件的專用風(fēng)格:TVS_HASLINES在父/子結(jié)點(diǎn)之間繪制連線TVS_LINESATROOT在根/子結(jié)點(diǎn)之間繪制連線TVS_HASBUTTONS在每一個(gè)結(jié)點(diǎn)前添加一個(gè)按鈕,用于表示當(dāng)前結(jié)點(diǎn)是否已被展開TVS_EDITLABELS結(jié)點(diǎn)的顯示字符可以被編輯TVS_SHOWSELALWAYS在失去焦點(diǎn)時(shí)也顯示當(dāng)前選中的結(jié)點(diǎn)TVS_DISABLEDRAGDROP不允許Drag/DropTVS_NOTOOLTIPS不使用ToolTip顯示結(jié)點(diǎn)的顯示

10、字符在樹形控件中每一個(gè)結(jié)點(diǎn)都有一個(gè)句柄(HTREEITEM),同時(shí)添加結(jié)點(diǎn)時(shí)必須

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。