File Annotation

Not logged in
13b7203622 2011-02-23        kinaba: //--- K.I.LIB ---
13b7203622 2011-02-23        kinaba: // kl_dnd.h : drag and drop operation
13b7203622 2011-02-23        kinaba: 
13b7203622 2011-02-23        kinaba: #ifndef AFX_KIDROPSOURCE_H__141BEF0D_0DA2_4156_93E4_313535916A23__INCLUDED_
13b7203622 2011-02-23        kinaba: #define AFX_KIDROPSOURCE_H__141BEF0D_0DA2_4156_93E4_313535916A23__INCLUDED_
13b7203622 2011-02-23        kinaba: 
13b7203622 2011-02-23        kinaba: /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/
13b7203622 2011-02-23        kinaba: // kiDataObject : ドロップデータとしての標準処理
13b7203622 2011-02-23        kinaba: 
13b7203622 2011-02-23        kinaba: class kiDataObject : public IDataObject
13b7203622 2011-02-23        kinaba: {
13b7203622 2011-02-23        kinaba: protected: // 派生クラス向け処理
13b7203622 2011-02-23        kinaba: 
13b7203622 2011-02-23        kinaba: 	virtual bool giveData( const FORMATETC& fmt, STGMEDIUM* stg, bool firstcall ) = 0;
13b7203622 2011-02-23        kinaba: 	void addFormat( const FORMATETC& frm )
13b7203622 2011-02-23        kinaba: 		{
13b7203622 2011-02-23        kinaba: 			m_FormatList.add( frm );
13b7203622 2011-02-23        kinaba: 		}
13b7203622 2011-02-23        kinaba: 
13b7203622 2011-02-23        kinaba: protected:	//-- IUnknown -----------
13b7203622 2011-02-23        kinaba: 
13b7203622 2011-02-23        kinaba: 	kiDataObject();
13b7203622 2011-02-23        kinaba: 	STDMETHODIMP         QueryInterface( REFIID, void** );
13b7203622 2011-02-23        kinaba: 	STDMETHODIMP_(ULONG) AddRef();
13b7203622 2011-02-23        kinaba: 	STDMETHODIMP_(ULONG) Release();
13b7203622 2011-02-23        kinaba: private:
13b7203622 2011-02-23        kinaba: 	ULONG                m_cRef;
13b7203622 2011-02-23        kinaba: 
13b7203622 2011-02-23        kinaba: private: //-- IDataObject ------------
13b7203622 2011-02-23        kinaba: 
13b7203622 2011-02-23        kinaba: 	STDMETHODIMP GetData( FORMATETC*, STGMEDIUM* );
13b7203622 2011-02-23        kinaba: 	STDMETHODIMP QueryGetData( FORMATETC* );
13b7203622 2011-02-23        kinaba: 	STDMETHODIMP EnumFormatEtc( DWORD, IEnumFORMATETC** );
13b7203622 2011-02-23        kinaba: 	STDMETHODIMP GetDataHere( FORMATETC*, STGMEDIUM* )
13b7203622 2011-02-23        kinaba: 		{
13b7203622 2011-02-23        kinaba: 			return E_NOTIMPL;
13b7203622 2011-02-23        kinaba: 		}
13b7203622 2011-02-23        kinaba: 	STDMETHODIMP GetCanonicalFormatEtc( FORMATETC*, FORMATETC* )
13b7203622 2011-02-23        kinaba: 		{
13b7203622 2011-02-23        kinaba: 			return E_NOTIMPL;
13b7203622 2011-02-23        kinaba: 		}
13b7203622 2011-02-23        kinaba: 	STDMETHODIMP SetData( FORMATETC*, STGMEDIUM*, BOOL )
13b7203622 2011-02-23        kinaba: 		{
13b7203622 2011-02-23        kinaba: 			return E_NOTIMPL;
13b7203622 2011-02-23        kinaba: 		}
13b7203622 2011-02-23        kinaba: 	STDMETHODIMP DAdvise( FORMATETC*, DWORD, IAdviseSink*, DWORD* )
13b7203622 2011-02-23        kinaba: 		{
13b7203622 2011-02-23        kinaba: 			return OLE_E_ADVISENOTSUPPORTED;
13b7203622 2011-02-23        kinaba: 		}
13b7203622 2011-02-23        kinaba: 	STDMETHODIMP DUnadvise( DWORD )
13b7203622 2011-02-23        kinaba: 		{
13b7203622 2011-02-23        kinaba: 			return OLE_E_NOCONNECTION;
13b7203622 2011-02-23        kinaba: 		}
13b7203622 2011-02-23        kinaba: 	STDMETHODIMP EnumDAdvise( IEnumSTATDATA** )
13b7203622 2011-02-23        kinaba: 		{
13b7203622 2011-02-23        kinaba: 			return OLE_E_ADVISENOTSUPPORTED;
13b7203622 2011-02-23        kinaba: 		}
13b7203622 2011-02-23        kinaba: 
13b7203622 2011-02-23        kinaba: private: //-- 内部処理 -----------------
13b7203622 2011-02-23        kinaba: 
13b7203622 2011-02-23        kinaba: 	kiArray<FORMATETC> m_FormatList;
13b7203622 2011-02-23        kinaba: 	bool m_bFirst;
13b7203622 2011-02-23        kinaba: 	friend class kiDataObject_Enum;
13b7203622 2011-02-23        kinaba: 
13b7203622 2011-02-23        kinaba: public:
13b7203622 2011-02-23        kinaba: 	void begin()
13b7203622 2011-02-23        kinaba: 		{
13b7203622 2011-02-23        kinaba: 			m_bFirst = true;
13b7203622 2011-02-23        kinaba: 		}
13b7203622 2011-02-23        kinaba: };
13b7203622 2011-02-23        kinaba: 
13b7203622 2011-02-23        kinaba: /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/
13b7203622 2011-02-23        kinaba: // kiDropSource : ドロップ元としての標準処理
13b7203622 2011-02-23        kinaba: 
13b7203622 2011-02-23        kinaba: class kiDropSource : public IDropSource
13b7203622 2011-02-23        kinaba: {
13b7203622 2011-02-23        kinaba: public: //-- ドラッグ&ドロップ実行!
13b7203622 2011-02-23        kinaba: 
13b7203622 2011-02-23        kinaba: 	static bool DnD( kiDataObject* pObj, DWORD efct, DWORD* pefct=NULL );
13b7203622 2011-02-23        kinaba: 
13b7203622 2011-02-23        kinaba: private: //-- IUnknown
13b7203622 2011-02-23        kinaba: 
13b7203622 2011-02-23        kinaba: 	kiDropSource();
13b7203622 2011-02-23        kinaba: 	STDMETHODIMP         QueryInterface( REFIID, void** );
13b7203622 2011-02-23        kinaba: 	STDMETHODIMP_(ULONG) AddRef();
13b7203622 2011-02-23        kinaba: 	STDMETHODIMP_(ULONG) Release();
13b7203622 2011-02-23        kinaba: 	ULONG                m_cRef;
13b7203622 2011-02-23        kinaba: 
13b7203622 2011-02-23        kinaba: private: //-- IDropSource
13b7203622 2011-02-23        kinaba: 
13b7203622 2011-02-23        kinaba: 	STDMETHODIMP QueryContinueDrag( BOOL, DWORD );
13b7203622 2011-02-23        kinaba: 	STDMETHODIMP GiveFeedback( DWORD );
13b7203622 2011-02-23        kinaba: };
13b7203622 2011-02-23        kinaba: 
13b7203622 2011-02-23        kinaba: #endif