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

图形图象

开发平台:

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. #if !defined(AFX_IM_OLEIMAGEDROPTARGET_H__BC21D3A1_332C_11D1_ADE9_0000E81B9EF1__INCLUDED_)
  18. #define AFX_IM_OLEIMAGEDROPTARGET_H__BC21D3A1_332C_11D1_ADE9_0000E81B9EF1__INCLUDED_
  19. #if _MSC_VER >= 1000
  20. #pragma once
  21. #endif // _MSC_VER >= 1000
  22. // IM_OleImageDropTarget.h : header file
  23. //
  24. /////////////////////////////////////////////////////////////////////////////
  25. /////////////////////////////////////////////////////////////////////////////
  26. /////////////////////////////////////////////////////////////////////////////
  27. // CUI_ImageDropTarget window
  28. #include "UIDragDropCtrl.h"
  29. class CDragDropImage;
  30. class CUI_ImageDropTarget : public COleDropTarget
  31. {
  32. // Construction
  33. public:
  34. CUI_ImageDropTarget();
  35. // Attributes
  36. public:
  37. inline UINT GetClipboardFormat() const;
  38. inline BOOL ImageSetup() const;
  39. // Operations
  40. public:
  41. // Overrides
  42. virtual DROPEFFECT OnDragEnter( CWnd* pWnd, COleDataObject* pDataObject, DWORD dwKeyState, CPoint point );
  43. virtual DROPEFFECT OnDragOver( CWnd* pWnd, COleDataObject* pDataObject, DWORD dwKeyState, CPoint point );
  44. virtual BOOL OnDrop( CWnd* pWnd, COleDataObject* pDataObject, DROPEFFECT dropEffect, CPoint point );
  45. virtual void OnDragLeave( CWnd* pWnd);
  46. // Implementation
  47. public:
  48. virtual ~CUI_ImageDropTarget();
  49. void EraseOldImage();
  50. void SetImageWin(CWnd *pWnd);
  51. protected:
  52. const CDragDropImage *GetDropImage();
  53. CWnd *GetImageWin(CWnd *pWnd);
  54. private:
  55.     int m_nImage;
  56. CRect m_rcTotalItem;
  57. CPoint m_ptItem;
  58.     CPoint m_ptPrevPos;
  59.     CPoint m_ptOldImage;
  60.     CSize m_sizeDelta;
  61.     CDragDropImage *m_pImage;
  62. UINT m_nCFFormat;
  63. CWnd *m_pWnd;
  64. };
  65. inline UINT CUI_ImageDropTarget::GetClipboardFormat() const
  66. {
  67. return m_nCFFormat;
  68. }
  69. inline const CDragDropImage *CUI_ImageDropTarget::GetDropImage()
  70. {
  71. return m_pImage;
  72. }
  73. inline void CUI_ImageDropTarget::SetImageWin(CWnd *pWnd)
  74. {
  75. m_pWnd = pWnd;
  76. }
  77. inline CWnd *CUI_ImageDropTarget::GetImageWin(CWnd *pWnd) 
  78. {
  79. // use main frame window as default
  80. if (m_pWnd == NULL)
  81. m_pWnd = pWnd;
  82. ASSERT(m_pWnd);
  83. return m_pWnd;
  84. }
  85. /////////////////////////////////////////////////////////////////////////////
  86. //{{AFX_INSERT_LOCATION}}
  87. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  88. #endif // !defined(AFX_IM_OLEIMAGEDROPTARGET_H__BC21D3A1_332C_11D1_ADE9_0000E81B9EF1__INCLUDED_)