IEShellDragDrop.h
上传用户:yatsl7111
上传日期:2007-01-08
资源大小:1433k
文件大小:2k
源码类别:

图形图象

开发平台:

Visual C++

  1. //*******************************************************************************
  2. // COPYRIGHT NOTES
  3. // ---------------
  4. // You may use this source code, compile or redistribute it as part of your application 
  5. // for free. You cannot redistribute it as a part of a software development 
  6. // library without the agreement of the author. If the sources are 
  7. // distributed along with the application, you should leave the original 
  8. // copyright notes in the source code without any changes.
  9. // This code can be used WITHOUT ANY WARRANTIES at your own risk.
  10. // 
  11. // For the latest updates to this code, check this site:
  12. // http://www.masmex.com 
  13. // after Sept 2000
  14. // 
  15. // Copyright(C) 2000 Philip Oldaker <email: philip@masmex.com>
  16. //*******************************************************************************
  17. #ifndef __IESHELLDRAGDROP_H__
  18. #define __IESHELLDRAGDROP_H__
  19. #include "UIDragDropCtrl.h"
  20. #include "ShellPidl.h"
  21. ////////////////////////////////////////////////
  22. // CIEShellDragDrop
  23. ////////////////////////////////////////////////
  24. class CIEShellDragDrop
  25. {
  26. public:
  27. CIEShellDragDrop();
  28. virtual ~CIEShellDragDrop();
  29. public:
  30. virtual bool DragDrop(CDD_OleDropTargetInfo *pInfo,LPSHELLFOLDER psfFolder,LPITEMIDLIST pidl);
  31. virtual bool DragOver(CDD_OleDropTargetInfo *pInfo,LPSHELLFOLDER psfFolder,LPITEMIDLIST pidl);
  32. virtual bool DragEnter(CDD_OleDropTargetInfo *pInfo,LPSHELLFOLDER psfFolder,LPITEMIDLIST pidl);
  33. virtual bool DragLeave(CDD_OleDropTargetInfo *pInfo);
  34. protected:
  35. private:
  36. CShellPidl m_ShellPidl;
  37. LPSHELLFOLDER m_psfDesktop;
  38. };
  39. inline CIEShellDragDrop::CIEShellDragDrop()
  40. {
  41. m_psfDesktop = NULL;
  42. SHGetDesktopFolder(&m_psfDesktop);
  43. }
  44. inline CIEShellDragDrop::~CIEShellDragDrop()
  45. {
  46. if (m_psfDesktop)
  47. m_psfDesktop->Release();
  48. }
  49. #endif //__IESHELLDRAGDROP_H__