首页 新闻 会员 周边

CMFCShellListCtrl 过滤 显示 ?

0
悬赏园豆:30 [已关闭问题]

大家好!
我用 CMFCShellListCtrl 和 CMFCShellTreeCtrl  做了个windows explorer 一切正常!
我现在想让 CMFCShellListCtrl   过滤显示 某些内容 ,只显示 pdf 文档!
我尝试了下在CMFCShellListCtrl   ::OnLvnInsertitem() 做操作:每插入个item 判断后缀,如果不是pdf ,立刻删除 这个item 。
麻烦看看下面我写的,有点用,但还是不准
void CMFCShellListCtrl::OnLvnInsertitem(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);
// TODO: 在此添加控件通知处理程序代码
CString currentFolder;
GetItemPath(currentFolder,pNMLV->iItem); //这里跟踪发现pNMLV->iItem总为0

if (GetSuffix(currentFolder).MakeLower()!=_T("pdf"))     //程序思路,每插入一个item判断 是否为pdf?
{
DeleteItem(1); //本来写的是DeleteItem(0),但总运行中断
}
*pResult = 0;
}
注:
函数效果:总有一个item删不掉,也就是最后一个item 删不了!
比如程序一次插入C盘,D盘,E盘,s盘。最后显示一个s盘。

左飞的主页 左飞 | 初学一级 | 园豆:120
提问于:2009-09-21 23:53
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册