| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 | 
							- ///////////////////////////////////////////////////////////////////////////////
 
- // Name:        wx/msw/wrapshl.h
 
- // Purpose:     wrapper class for stuff from shell32.dll
 
- // Author:      Vadim Zeitlin
 
- // Modified by:
 
- // Created:     2004-10-19
 
- // Copyright:   (c) 2004 Vadim Zeitlin <vadim@wxwindows.org>
 
- // Licence:     wxWindows licence
 
- ///////////////////////////////////////////////////////////////////////////////
 
- #ifndef _WX_MSW_WRAPSHL_H_
 
- #define _WX_MSW_WRAPSHL_H_
 
- #include "wx/msw/wrapwin.h"
 
- #ifdef __WXWINCE__
 
-     #include <winreg.h>
 
-     #include <objbase.h>
 
-     #include <shlguid.h>
 
-     #include <shellapi.h>
 
- #endif
 
- #include <shlobj.h>
 
- #include "wx/msw/winundef.h"
 
- #include "wx/log.h"
 
- // ----------------------------------------------------------------------------
 
- // wxItemIdList implements RAII on top of ITEMIDLIST
 
- // ----------------------------------------------------------------------------
 
- class wxItemIdList
 
- {
 
- public:
 
-     // ctor takes ownership of the item and will free it
 
-     wxItemIdList(LPITEMIDLIST pidl)
 
-     {
 
-         m_pidl = pidl;
 
-     }
 
-     static void Free(LPITEMIDLIST pidl)
 
-     {
 
-         if ( pidl )
 
-         {
 
-             LPMALLOC pMalloc;
 
-             SHGetMalloc(&pMalloc);
 
-             if ( pMalloc )
 
-             {
 
-                 pMalloc->Free(pidl);
 
-                 pMalloc->Release();
 
-             }
 
-             else
 
-             {
 
-                 wxLogLastError(wxT("SHGetMalloc"));
 
-             }
 
-         }
 
-     }
 
-     ~wxItemIdList()
 
-     {
 
-         Free(m_pidl);
 
-     }
 
-     // implicit conversion to LPITEMIDLIST
 
-     operator LPITEMIDLIST() const { return m_pidl; }
 
-     // get the corresponding path, returns empty string on error
 
-     wxString GetPath() const
 
-     {
 
-         wxString path;
 
-         if ( !SHGetPathFromIDList(m_pidl, wxStringBuffer(path, MAX_PATH)) )
 
-         {
 
-             wxLogLastError(wxT("SHGetPathFromIDList"));
 
-         }
 
-         return path;
 
-     }
 
- private:
 
-     LPITEMIDLIST m_pidl;
 
-     wxDECLARE_NO_COPY_CLASS(wxItemIdList);
 
- };
 
- // enable autocompleting filenames in the text control with given HWND
 
- //
 
- // this only works on systems with shlwapi.dll 5.0 or later
 
- //
 
- // implemented in src/msw/utilsgui.cpp
 
- extern bool wxEnableFileNameAutoComplete(HWND hwnd);
 
- #endif // _WX_MSW_WRAPSHL_H_
 
 
  |