在实际程序开发中,经常需要显示系统的资源列表。
下面我们的实现的是在树形控件显示层次目录信息,在列表控件中显示选中目录下面包含的文件
首先 来看一下实现的Demo图。
首先,我们需要在初始化函数OnInitDialog中,获取到系统目录驱动器的信息委树形控件的一级界面,并获取到磁盘驱动器的一级目录作为树形控件的2级界面。
首先我们需要在OninitDialog中进行初始化。
以下为头文件中定义的函数及变量
public:
CImageList m_imagelist;
// CListCtrl m_ctLisy;
CListCtrl m_ctlList;
CTreeCtrl m_ctlTree;
HTREEITEM hRoot;
public:
void GetLogicalDrives(HTREEITEM hParents);
void GetDirverDir(HTREEITEM hParents);
afx_msg void OnTvnItemexpandedTree1(NMHDR *pNMHDR, LRESULT *pResult);
void AddSubItem(HTREEITEM hParents);
CString GetFullPath(HTREEITEM hCurrent);
afx_msg void OnTvnSelchangedTree1(NMHDR *pNMHDR, LRESULT *pResult);
BOOL CMFCApplication10Dlg::OnInitDialog()
{
CDialogEx::OnInitDialog();
// TODO: 这是在OnInitDialog中自定义的代码
m_imagelist.Create(32, 32, ILC_COLOR32, 10, 30);
m_ctlList.SetImageList(&m_imagelist, LVSIL_NORMAL);
m_ctlList.SetBkColor(RGB(200, 200, 255));
DWORD dwStyle = GetWindowLong(m_ctlTree.m_hWnd, GWL_STYLE);