次の方法で共有


COleDropTarget::OnDragOver

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

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

パラメーター

  • pWnd
    カーソルが完了するまでウィンドウへのポインター。

  • pDataObject
    格納するデータを含むデータ オブジェクトへのポインター。

  • dwKeyState
    修飾子キーの状態を保持します。これは、次の任意の組み合わせです: MK_CONTROLMK_SHIFTMK_ALTMK_LBUTTONMK_MBUTTONMK_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

参照

関連項目

COleDropTarget クラス

階層図

COleDropTarget::OnDragEnter

COleDropTarget::OnDragLeave

COleDropTarget::OnDrop

COleDropTarget::OnDropEx