IDT.H
资源名称:MSDN_VC98.zip [点击查看]
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:2k
源码类别:
Windows编程
开发平台:
Visual C++
- //**********************************************************************
- // File name: idt.h
- //
- // Definition of CDropTarget
- //
- // Copyright (c) 1992 - 1997 Microsoft Corporation. All rights reserved.
- //**********************************************************************
- #if !defined( _IDT_H_ )
- #define _IDT_H_
- #include "assert.h"
- class CSimpleDoc;
- /* Flags to control direction for drag scrolling */
- typedef enum tagSCROLLDIR {
- SCROLLDIR_NULL = 0,
- SCROLLDIR_UP = 1,
- SCROLLDIR_DOWN = 2,
- SCROLLDIR_RIGHT = 3,
- SCROLLDIR_LEFT = 4
- } SCROLLDIR;
- interface CDropTarget : public IDropTarget
- {
- int m_nCount; // reference count
- CSimpleDoc FAR * m_pDoc;
- BOOL m_fCanDropCopy;
- BOOL m_fCanDropLink;
- DWORD m_dwSrcAspect;
- RECT m_rcDragRect;
- POINT m_ptLast;
- BOOL m_fDragFeedbackDrawn;
- DWORD m_dwTimeEnterScrollArea; // time of entering scroll border region
- DWORD m_dwLastScrollDir; // current dir for drag scroll
- DWORD m_dwNextScrollTime; // time for next scroll
- CDropTarget(CSimpleDoc FAR * pDoc) {
- OutputDebugString("In IDT's constructorrn");
- m_pDoc = pDoc;
- m_nCount = 0;
- m_fCanDropCopy = FALSE;
- m_fCanDropLink = FALSE;
- m_fDragFeedbackDrawn = FALSE;
- m_dwTimeEnterScrollArea = 0L;
- m_dwNextScrollTime = 0L;
- m_dwLastScrollDir = SCROLLDIR_NULL;
- };
- ~CDropTarget() {
- OutputDebugString("In IDT's destructorrn");
- assert(m_nCount == 0);
- } ;
- STDMETHODIMP QueryInterface (REFIID riid, LPVOID FAR* ppv);
- STDMETHODIMP_(ULONG) AddRef ();
- STDMETHODIMP_(ULONG) Release ();
- // *** IDropTarget methods ***
- STDMETHODIMP DragEnter (LPDATAOBJECT pDataObj, DWORD grfKeyState,
- POINTL pt, LPDWORD pdwEffect);
- STDMETHODIMP DragOver (DWORD grfKeyState, POINTL pt, LPDWORD pdwEffect);
- STDMETHODIMP DragLeave ();
- STDMETHODIMP Drop (LPDATAOBJECT pDataObj, DWORD grfKeyState, POINTL pt,
- LPDWORD pdwEffect);
- private:
- // Drag/Drop support methods
- BOOL QueryDrop (DWORD grfKeyState, POINTL pointl, BOOL fDragScroll,
- LPDWORD lpdwEffect);
- BOOL DoDragScroll( POINTL pointl );
- void InitDragFeedback(LPDATAOBJECT pDataObj, POINTL pointl);
- void DrawDragFeedback( POINTL pointl );
- void UndrawDragFeedback( void );
- };
- #endif // _IDT_H_