Share via


CView::OnDropEx

ユーザーが有効なドロップ ターゲット上のデータ オブジェクトを離したときに、フレームワークによって呼び出されます。

virtual DROPEFFECT OnDropEx(
   COleDataObject* pDataObject,
   DROPEFFECT dropDefault,
   DROPEFFECT dropList,
   CPoint point 
);

パラメーター

  • pDataObject
    COleDataObject を指すドロップ ターゲットにドロップします。

  • dropDefault
    ユーザーが既定のドロップ操作のために選択した効果は、現在の主要な状態に基づいて。これは DROPEFFECT_NONEである場合があります。ドロップ効果は、"解説"で説明します。

  • dropList
    このドロップ効果のリスト ドロップ ソースのサポート。ドロップ効果の値はを使用してビットごとにまとめることができます (または**|**操作)。ドロップ効果は、"解説"で説明します。

  • point
    ビューのクライアント領域に対するマウスの現在位置。

戻り値

場所にドロップ操作になるドロップ効果は pointで指定します。これは dropEffectListで表される値の 1 種類があります。ドロップ効果は、"解説"で説明します。

解説

既定の実装では何もし、フレームワークが OnDrop のハンドラーを呼び出す必要があることを示すダミー値 (-1) を返します。

マウスの右ボタンをドラッグ アンド ドロップの効果を実行するには、この関数をオーバーライドします。マウスの右ボタンをドラッグ アンド ドロップは通常、マウスの右ボタンを離すとの選択メニューを表示します。

OnDropEx のオーバーライドでは、マウスの右ボタンを照会する必要があります。GetKeyState を呼び出すか、OnDragEnter のハンドラーからマウスの右ボタンの状態を格納できます。

  • マウスの右ボタンがある場合、のオーバーライドは、ドロップ ソースによってドロップ効果をサポートするポップアップ メニューを表示する必要があります。

    • ドロップ ソースでサポートされるドロップ効果を確認するに dropList を確認します。ポップアップ メニューのこれらのアクションのみ有効にします。

    • 既定のアクションを dropDefaultに基づいて設定するに SetMenuDefaultItem を使用します。

    • 最後に、ポップアップ メニューからユーザーの選択によって示されるアクションを取ります。

  • マウスの右ボタンがない場合、のオーバーライドは、標準的なドロップの要求これを処理する必要があります。dropDefaultで指定されたドロップ効果を使用します。または、でオーバーライドは OnDrop がこのドロップ操作の処理を示すダミー値 (-1) を返すことができます。

指定した位置にドロップ クリップボード データ形式とデータの COleDataObject を確認するために pDataObject を使用します。

ドロップ効果がドロップ操作に関連付けられたアクションについて説明します。ドロップ効果の次の一覧を参照:

  • DROPEFFECT_NONE A のドロップは使用できません。

  • DROPEFFECT_COPY A のコピー操作が実行されます。

  • DROPEFFECT_MOVE A の移動の操作が実行されます。

  • ドロップされたデータの元のデータへのDROPEFFECT_LINK A のリンクが作成されます。

  • DROPEFFECT_SCROLL は、ドラッグ操作のスクロールが発生するとするかまたはを対象に、発生しています。

既定のメニュー コマンドの配置の詳細については、Windows SDK の SetMenuDefaultItem、この量の CMenu::GetSafeHmenu を参照してください。

必要条件

ヘッダー: afxwin.h

参照

関連項目

CView クラス

階層図

CView::OnDragEnter

CView::OnDragOver

CView::OnDrop

CView::OnDragLeave

COleDropTarget::OnDropEx