问题:
我扫描一个文件夹内的文件。其中把文件分为,Document、Video、Audio、Graphics、Other。
开始搜索,如果搜到JPG文件,那么判断。m_hTItemGraphics 是否为空
如果 == NULL 那么就m_treeCtrl.InsertItem(......);
但是这样就出现了一个问题,这样创建的顺序,受到了搜索到文件类型的顺序影响。
如果先搜到Graphics文件,那么Graphics会在第一个创建。但是我现在想把这个子节点的顺序定死。
比如第一个是Document,第二个Video......
但是我这边使用TVI_FRIST或者TVI_LAST,那么只会保证一个在最前/最后,其余4个就没有办法保证位置。
那么我有什么办法,可以直接写死这个的顺序呢。
因为我发现如果我在外面创建好子节点,会出现,假设该文件夹内如果没有图片文件,那么就会创建空子节点。
我扫描一个文件夹内的文件。其中把文件分为,Document、Video、Audio、Graphics、Other。
开始搜索,如果搜到JPG文件,那么判断。m_hTItemGraphics 是否为空
如果 == NULL 那么就m_treeCtrl.InsertItem(......);
但是这样就出现了一个问题,这样创建的顺序,受到了搜索到文件类型的顺序影响。
如果先搜到Graphics文件,那么Graphics会在第一个创建。但是我现在想把这个子节点的顺序定死。
比如第一个是Document,第二个Video......
但是我这边使用TVI_FRIST或者TVI_LAST,那么只会保证一个在最前/最后,其余4个就没有办法保证位置。
那么我有什么办法,可以直接写死这个的顺序呢。
因为我发现如果我在外面创建好子节点,会出现,假设该文件夹内如果没有图片文件,那么就会创建空子节点。
解决方案 »
- CTreeListView的问题
- 请教职场经验--跳槽与否?
- InstallShield中如何在拷贝文件之前调用自己写的外部DLL ?
- 求助啊,哭啊。两天了都还没有解决的问题!吃不香,睡不好。
- 对不规则图形填充颜色
- 那个CSDN象棋比赛取消了,现在还想玩象棋的过来留个联系方式,交流一下吧.
- 这个提示是什么意思 LINK : warning LNK4076: invalid incremental status file "../Lib/Flow.ilk"; linking nonincrementally
- 如何实现显示已经隐藏了的对话框
- 按钮和响应函数封装起来
- 大家谁知道学习VC的最好入门书吗?告诉我!
- MFC 动态显示图像
- vc6.0 MFC如何将组合框下拉选项关联函数
tvscb.hParent = pnmtv->itemNew.hItem;
tvscb.lParam = 0;
tvscb.lpfnCompare = TreeViewCompareProc; Tree.SortChildrenCB(&tvscb /*, FALSE*/);
///////////////////////////////////////////////////////////////////////////////////////////////////int CALLBACK CLeftView::TreeViewCompareProc(LPARAM lparam1,
LPARAM lparam2, LPARAM lparamSort)
{
LPTVITEMDATA lptvid1=(LPTVITEMDATA)lparam1;
LPTVITEMDATA lptvid2=(LPTVITEMDATA)lparam2;
HRESULT hr; hr = lptvid1->lpsfParent->CompareIDs(0,lptvid1->lpi,lptvid2->lpi); if (FAILED(hr))
return 0; return (short)SCODE_CODE(GetScode(hr));
}