COleDropTarget::OnDragOver
更新 : 2007 年 11 月
カーソルがウィンドウ上にドラッグされたときに、フレームワークによって呼び出されます。
virtual DROPEFFECT OnDragOver(
CWnd* pWnd,
COleDataObject* pDataObject,
DWORD dwKeyState,
CPoint point
);
パラメータ
pWnd
カーソルがあるウィンドウへのポインタ。pDataObject
ドロップされるデータを持つデータ オブジェクトへのポインタ。dwKeyState
修飾子キーの状態を保持します。MK_CONTROL、MK_SHIFT、MK_ALT、MK_LBUTTON、MK_MBUTTON、および MK_RBUTTON をいくつでも組み合わせて指定できます。point
カーソルの現在位置をクライアント座標で保持します。
戻り値
point で指定される位置でドロップが行われたときに発生する結果を返します。次の値の 1 つ以上を組み合わせて指定できます。
DROPEFFECT_NONE ドロップできません。
DROPEFFECT_COPY コピー操作が実行されます。
DROPEFFECT_MOVE 移動操作が実行されます。
DROPEFFECT_LINK ドロップされたデータと元のデータがリンクされます。
DROPEFFECT_SCROLL ドラッグ スクロール操作がターゲット内で発生するところか、発生しています。
解説
ウィンドウ内でのドロップ操作を可能にするには、この関数をオーバーライドします。既定の実装では、CView::OnDragOver を呼び出します。この関数は、既定では DROPEFFECT_NONE を返します。この関数はドラッグ アンド ドロップ操作中に頻繁に呼び出されるため、できるだけ最適化してください。
詳細については、Windows SDK の「IDropTarget::DragOver」を参照してください。
使用例
DROPEFFECT COleContainerView::OnDragOver(COleDataObject* pDataObject,
DWORD dwKeyState, CPoint point)
{
UNREFERENCED_PARAMETER(pDataObject);
UNREFERENCED_PARAMETER(point);
DROPEFFECT de = DROPEFFECT_NONE;
//Determine the type of operation
if((dwKeyState & MK_SHIFT) && (dwKeyState & MK_CONTROL))
de = DROPEFFECT_LINK;
else if(dwKeyState & MK_CONTROL)
de = DROPEFFECT_COPY;
else if(dwKeyState & MK_SHIFT)
de = DROPEFFECT_MOVE;
return de;
}
必要条件
ヘッダー : afxole.h