上一篇 | 下一篇

VC控件 TreeCtrl 与 ListCtrl 演示

发布: 2008-6-26 14:30 | 作者: admin | 来源: | 查看: 0次

void CTreeViewDlg::OnSelchangedTree(NMHDR* pNMHDR, LRESULT* pResult)

{

m_list.DeleteAllItems();

NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;

TV99vEM item = pNMTreeView->itemNew;

if(item.hItem == m_hRoot)

return;

CString str = GetFullPath(item.hItem);

if(str.Right(1) != "\\")

str += "\\";

str += "*.*";

CFileFind file;

BOOL bContinue = file.FindFile(str);

while(bContinue)

{

bContinue = file.FindNextFile();

if(!file.IsDirectory() && !file.IsDots())

{

SHFILEINFO info;

CString temp = str;

int index = temp.Find("*.*");

temp.Delete(index,3);

SHGetFileInfo(temp + file.GetFileName(),

0,

&info,sizeof(&info),

SHGFI_DISPLAYNAME | SHGFI_ICON);

int i = m_ImageList.Add(info.hIcon);

m_list.InsertItem(i,info.szDisplayName,i);

}

}

*pResult = 0;

}

这只是一个简单的例子,你可以在 ListCtrl 中添加鼠标双击消息的处理函数,用 Process 打开该选中的文件; 该示例在VC6,xp下编译通过。

VC初学者,如有不足之处,请来信指教(waysen01@st.lzu.edu.cn)。

字号: | 推荐给好友

22/2<12

评分:0

我来说两句