ITEMIDLIST的包装类
CItemIDList类有助于更轻松地管理ITEMIDLIST。
引言
这个类可以帮助您更轻松地管理 ITEMIDLIST
。 CItemIDList
类包含指向 ITEMIDLIST
结构的指针(该指针位于 CItemIDList::m_pidl
中)。它还具有可以作为全局函数使用的公共静态成员函数。(版本 2.0)
构造函数
|
使用路径字符串构造。 |
|
使用 |
|
使用另一个类对象构造。 |
|
构造类实例,其中 |
成员函数
|
获取系统图像列表中文件夹项的图标索引。 |
|
检索 pidl 的显示名称。 |
|
根据计数数量复制 pidl。 |
|
|
|
返回指定索引处的相对 pidl。 |
|
从 |
|
获取 pidl 计数。 |
|
获取 pidl 的大小,以字节为单位。 |
|
释放 |
|
检索完整路径。(仅适用于完整质量的 pidl) |
|
检索其他 shell 接口。与 IShellFolder::GetUIObjectOf 相同。 |
|
从完整质量的 pidl 获取 IShellFolder 接口和尾部 pidl 单元。 |
|
检索尾部 pidl 单元。 |
|
检索 m_pidl 的工具提示信息。 |
|
附加 pidl。 |
|
分离 pidl。 |
运算符
|
连接两个 pidl。 |
|
获取 |
|
获取 |
|
从另一个类实例复制。 |
|
从 |
|
将新的 pidl 添加到 |
|
查询两个 pidl 的名称是否相同。 |
|
返回指定索引处的相对 pidl。(与 |
示例
#include "ItemIDList.h" #include <windows.h> #include <iostream.h> //Some test code... void main() { char szFile[MAX_PATH]; ZeroMemory(szFile,MAX_PATH); OPENFILENAME info; ZeroMemory(&info,sizeof(info)); info.lStructSize=sizeof(info); info.lpstrFile=szFile; info.hwndOwner=NULL; info.nMaxFile=MAX_PATH; if(GetOpenFileName(&info)) { CItemIDList item(szFile),item2; char szName[MAX_PATH]; item.GetDisplayName(szName); cout<<szName<<endl; item.GetToolTipInfo(szName,MAX_PATH); cout<<szName<<endl; item2=item; item2.GetPath(szName); cout<<szName<<endl; item2=item[item.GetCount()-1]; item2.GetDisplayName(szName); cout<<szName<<endl; item2=item.GetAt(0); item2.GetDisplayName(szName); cout<<szName<<endl; CItemIDList item3; item3=item.Duplicate(item.GetCount()-1); item3.GetPath(szName); cout<<szName<<endl; item3=item.Duplicate(item.GetCount()-1)+item2; item3.GetPath(szName); cout<<szName<<endl; } }
享受吧...