Source code
Revision control
Copy as Markdown
Other Tools
// SysIconUtils.h↩
↩
#ifndef __SYS_ICON_UTILS_H↩
#define __SYS_ICON_UTILS_H↩
↩
#include "../../../Common/MyWindows.h"↩
↩
#include <commctrl.h>↩
↩
#include "../../../Common/MyString.h"↩
↩
struct CExtIconPair↩
{↩
UString Ext;↩
int IconIndex;↩
// UString TypeName;↩
↩
// int Compare(const CExtIconPair &a) const { return MyStringCompareNoCase(Ext, a.Ext); }↩
};↩
↩
struct CAttribIconPair↩
{↩
DWORD Attrib;↩
int IconIndex;↩
// UString TypeName;↩
↩
// int Compare(const CAttribIconPair &a) const { return Ext.Compare(a.Ext); }↩
};↩
↩
class CExtToIconMap↩
{↩
public:↩
CRecordVector<CAttribIconPair> _attribMap;↩
CObjectVector<CExtIconPair> _extMap;↩
int SplitIconIndex;↩
int SplitIconIndex_Defined;↩
↩
CExtToIconMap(): SplitIconIndex_Defined(false) {}↩
↩
void Clear()↩
{↩
SplitIconIndex_Defined = false;↩
_extMap.Clear();↩
_attribMap.Clear();↩
}↩
int GetIconIndex(DWORD attrib, const wchar_t *fileName /* , UString *typeName */);↩
// int GetIconIndex(DWORD attrib, const UString &fileName);↩
};↩
↩
DWORD_PTR GetRealIconIndex(CFSTR path, DWORD attrib, int &iconIndex);↩
int GetIconIndexForCSIDL(int csidl);↩
↩
inline HIMAGELIST GetSysImageList(bool smallIcons)↩
{↩
SHFILEINFO shellInfo;↩
return (HIMAGELIST)SHGetFileInfo(TEXT(""),↩
FILE_ATTRIBUTE_NORMAL | FILE_ATTRIBUTE_DIRECTORY,↩
&shellInfo, sizeof(shellInfo),↩
SHGFI_USEFILEATTRIBUTES | SHGFI_SYSICONINDEX | (smallIcons ? SHGFI_SMALLICON : SHGFI_ICON));↩
}↩
↩
#endif↩