Last Updated 2008/10/16
Programming Tips Visual C++ MFC ドラッグアンドドロップ  索 引 
ファイル以外のドロップ
2003/12/12

ファイル以外のテキスト本文,URL,ショートカットなどのドロップを許可するには OLE が必要となる.
CView のメンバ変数に COleDropTarget を追加する.
CView 初期化時に COleDropTarget::Register(this) を行う.

OnDrop(), OnDragEnter(), OnDragOver(), OnDragLeave() をオーバーライド実装する.

CView 以外にて実装するのは大変である.
OnDorp() などは CView の仮想関数であり,CWnd からはオーバーライドできない.

ドロップされたことを最初に検知するのは COleDrapTarget となり,Register されているのが CView であれば,CView::OnDrop() を呼び出す.
COleDropTarget を派生させ,OnDrop() を実装,オーバーライドさせれば CWnd でもドロップが可能となる.


参照
ファイルのドロップ
エディットコントロールへのファイルドロップ
リッチエディットへのドラッグ&ドロップ
前後のTips
ファイル以外のドロップ

DSS ProgrammingTipsCGI Ver2.01