bool wxFileTypeImpl::GetIcon(wxIcon *icon,
wxString *iconFile,
- int *iconIndex) const
+ int *iconIndex,
+ int iconSize) const
{
#if wxUSE_GUI
wxString strIconKey;
wxString strExpPath = wxExpandEnvVars(strFullPath);
// here we need C based counting!
int nIndex = wxAtoi(strIndex);
-#ifdef __DIGITALMARS__
-//FIXME __DIGITALMARS__ April 2003 CE
- // why no ExtractIcon in library
- wxLogTrace(_T("wxFileTypeImpl::GetIcon"),
- _T("Returning false from wxFileTypeImpl::GetIcon because of DigitalMars compiler bug"));
- HICON hIcon = 0 ;
-#else
-
- HICON hIcon = ExtractIcon(GetModuleHandle(NULL), strExpPath, nIndex);
-#endif
+
+ HICON hIcon, hIconLarge, hIconSmall;
+ ExtractIconEx(strExpPath, nIndex, &hIconLarge, &hIconSmall, 1);
+
+ hIcon = (iconSize == wxICON_LARGE) ? hIconLarge : hIconSmall;
+
+
switch ( (int)hIcon ) {
case 0: // means no icons were found
case 1: // means no such file or it wasn't a DLL/EXE/OCX/ICO/...