home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / winui / shell / regview / extricon.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-08-27  |  2.1 KB  |  74 lines

  1. /**************************************************************************
  2.    THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  3.    ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  4.    THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  5.    PARTICULAR PURPOSE.
  6.  
  7.    Copyright 1997 Microsoft Corporation.  All Rights Reserved.
  8. **************************************************************************/
  9.  
  10. /**************************************************************************
  11.  
  12.    File:          ExtrIcon.h
  13.    
  14.    Description:   CExtractIcon definitions.
  15.  
  16. **************************************************************************/
  17.  
  18. #ifndef EXTRACTICON_H
  19. #define EXTRACTICON_H
  20.  
  21. /**************************************************************************
  22.    #include statements
  23. **************************************************************************/
  24.  
  25. #include <windows.h>
  26. #include <shlobj.h>
  27.  
  28. #include "PidlMgr.h"
  29.  
  30. /**************************************************************************
  31.    global variables
  32. **************************************************************************/
  33.  
  34. extern HINSTANCE  g_hInst;
  35. extern UINT       g_DllRefCount;
  36. extern HIMAGELIST g_himlLarge;
  37. extern HIMAGELIST g_himlSmall;
  38.  
  39. /**************************************************************************
  40.  
  41.    CExtractIcon class definition
  42.  
  43. **************************************************************************/
  44.  
  45. class CExtractIcon : public IExtractIcon
  46. {
  47. protected:
  48.    DWORD m_ObjRefCount;
  49.  
  50. public:
  51.    CExtractIcon(LPCITEMIDLIST);
  52.    ~CExtractIcon();
  53.  
  54.    //IUnknown methods
  55.    STDMETHOD (QueryInterface) (REFIID riid, LPVOID * ppvObj);
  56.    STDMETHOD_ (ULONG, AddRef) (void);
  57.    STDMETHOD_ (ULONG, Release) (void);
  58.  
  59.    //IExtractIcon methods
  60.    STDMETHOD (GetIconLocation) (UINT, LPTSTR, UINT, LPINT, LPUINT);
  61.    STDMETHOD (Extract) (LPCTSTR, UINT, HICON*, HICON*, UINT);
  62.  
  63. private:
  64.     LPITEMIDLIST m_pidl;
  65.    LPPIDLMGR m_pPidlMgr;
  66. };
  67.  
  68. #define ICON_INDEX_BINARY     0
  69. #define ICON_INDEX_STRING     1
  70. #define ICON_INDEX_FOLDER     2
  71. #define ICON_INDEX_FOLDEROPEN 3
  72.  
  73. #endif   //EXTRACTICON_H
  74.