MFC之TreeCtrl遍歷所有節點

2022-01-11 20:47:40 字數 1110 閱讀 8436

這個例子,主要是查詢樹上的某個節點,並展開選中它。採用來了遞迴方法來實現。主要用到的方法:

ctreectrl::getchilditem

htreeitem getchilditem( htreeitem hitem );

返回值:如果成功則返回該子項的控制代碼;否則返回null。

採用遞迴的思想,把每個遍歷到的節點都當作根節點對待,然後遍歷他裡面的兒子節點。

兒子節點又當作根節點,這樣反覆,直到真正的根節點都遍歷完了,整個過程就結束了。說得不清楚,看**一目了然。

按鈕**

void cfortreectrldlg::onbnclickedbutton1()

for (int q = (int)vecitem.size() - 1; q > -1; q--)

}

遞迴函式

void cfortreectrldlg::func(htreeitem root,cstring condition) 

//根節點的兒子節點

htreeitem a1 = treectrl.getchilditem(root);

//兒子節點的兄弟節點

vectorvecitem;

while (a1 != null)

for (int q = (int)vecitem.size() - 1; q > -1; q--)

else

}}

構建treectrl節點**

// todo: 在此新增額外的初始化**

cstring root[2] = ;

for (int i=0;i<2;i++)}}

} }

MFC控制項篇之TreeCtrl

tree ctrl 樹形控制項treectrl和下節要講的列表控制項 listctrl在系統中大量被使用,例如windows資源管理器就是乙個典型的例子。樹形控制項可以用於樹形的結構,其中有乙個根接點 root 然後下面有許多子結點,而每個子結點上有允許有乙個或多個或沒有子結點。mfc中使用ctre...

MFC使用TreeCtrl控制項實現樹型列表(二)

treectrl控制項的新增 控制項的在該view新增的類裡面建立 public afx msg void oninitialupdate virtual void myexpandtree htreeitem htreeitem ctreectrl m treectrl 控制項的相關功能的實現 v...

MFC 遍歷串列埠

遍歷串列埠實現 cstring ccomdialog findallcom hkey hkey int rtn cstring cominfo int i 0 dword dwlong,dwsize char portname 256 commname 256 rtn regopenkeyex hk...