File Annotation

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