COleDropTarget::OnDragOver

更新 : 2007 年 11 月

カーソルがウィンドウ上にドラッグされたときに、フレームワークによって呼び出されます。

virtual DROPEFFECT OnDragOver(
   CWnd* pWnd,
   COleDataObject* pDataObject,
   DWORD dwKeyState,
   CPoint point 
);

パラメータ

  • pWnd
    カーソルがあるウィンドウへのポインタ。

  • pDataObject
    ドロップされるデータを持つデータ オブジェクトへのポインタ。

  • dwKeyState
    修飾子キーの状態を保持します。MK_CONTROLMK_SHIFTMK_ALTMK_LBUTTONMK_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

参照

参照

COleDropTarget クラス

階層図

COleDropTarget::OnDragEnter

COleDropTarget::OnDragLeave

COleDropTarget::OnDrop

COleDropTarget::OnDropEx

その他の技術情報

COleDropTarget のメンバ