- 公开视频 -> 链接点击跳转公开课程
- 博客首页 -> 链接点击跳转博客主页
目录
树形视图(Tree Control) - CTreeCtrl
树形视图(Tree Control) - CTreeCtrl
创建和初始化
-
SubclassDlgItem
:将对话框中的控件子类化,使其与CTreeCtrl
对象关联。 -
Create
:动态创建一个树形视图控件。
添加和删除项
-
InsertItem
:在树形视图中插入一个新项。 -
DeleteItem
:从树形视图中删除一个项。 -
DeleteAllItems
:删除树形视图中的所有项。
获取和设置项属性
-
SetItemText
:设置树形视图中项的文本。 -
GetItemText
:获取树形视图中项的文本。 -
SetItemImage
:设置树形视图中项的图像。 -
GetItemImage
:获取树形视图中项的图像。
操作项
-
Expand
:展开或折叠树形视图中的项。 -
Select
:选择树形视图中的项。 -
EnsureVisible
:确保树形视图中的项可见。
项选择变化
TVN_SELCHANGED
:当树形视图中的项选择发生变化时触发。
项双击
TVN_SELCHANGING
:当树形视图中的项选择即将发生变化时触发。
项展开
TVN_ITEMEXPANDED
:当树形视图中的项被展开或折叠后触发。
示例代码
void CMainDlg::OnBnClickedButton31()
{
DWORD dwDrivers = ::GetLogicalDrives();
for (size_t i = 0; i < 26; i++)
{
if ((dwDrivers & (1 << i)) != 0)
{
CString strDriver;
strDriver.Format(_T("%c:"), 'A' + i);
HTREEITEM hRoot = m_Tree.InsertItem(strDriver, 0, 0, TVI_ROOT, TVI_LAST);
DirFileInfo(hRoot, strDriver);
}
}
}
void CMainDlg::DirFileInfo(HTREEITEM hParent, const CString& strPath)
{
CFileFind fileFind;
CString CurPath = strPath + _T("\\*.*");
BOOL bRet = fileFind.FindFile(CurPath);
while (bRet)
{
bRet = fileFind.FindNextFileW();
if (fileFind.IsDirectory() && !fileFind.IsDots())
{
HTREEITEM hRoot = m_Tree.InsertItem(fileFind.GetFileName(), 0, 0, hParent);
DirFileInfo(hRoot, strPath + _T("\\") + fileFind.GetFileName());
}
else if (!fileFind.IsDirectory() && !fileFind.IsDots() && !fileFind.IsHidden())
{
m_Tree.InsertItem(fileFind.GetFileName(), 0, 0, hParent);
}
}
}
标签:Control,TVN,图形界面,Tree,视图,树形,CTreeCtrl,中项
From: https://blog.csdn.net/2301_80612536/article/details/141068756