COleDropTarget::OnDragOver
カーソルがウィンドウ上にドラッグされたときに、フレームワークによって呼び出されます
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 A のドロップは使用できません。
DROPEFFECT_COPY A のコピー操作が実行されます。
DROPEFFECT_MOVE A の移動の操作が実行されます。
ドロップされたデータの元のデータへのDROPEFFECT_LINK A のリンクが作成されます。
DROPEFFECT_SCROLL は、ドラッグ操作のスクロールが発生するとするかまたはを対象に、発生しています。
解説
この関数は、ドロップ操作がウィンドウに発生するようにオーバーライドする必要があります。DROPEFFECT_NONE を返す既定ではこのの既定の実装では、関数呼び出し、CView::OnDragOver。この関数は、ドラッグ アンド ドロップ操作中に頻繁に呼び出されるため、できるだけ最適化する必要があります。
詳細については、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