COleDataSource::DoDragDrop

データ ソースに対してドラッグ アンド ドロップ操作を行うには、DoDragDrop メンバー関数を呼び出します。通常は、CWnd::OnLButtonDown ハンドラーの処理で行います。

DROPEFFECT DoDragDrop(
   DWORD dwEffects = DROPEFFECT_COPY|DROPEFFECT_MOVE|DROPEFFECT_LINK,
   LPCRECT lpRectStartDrag = NULL,
   COleDropSource* pDropSource = NULL 
);

パラメーター

  • dwEffects
    このデータ ソースで許されるドラッグ アンド ドロップ操作。 次の値を 1 つ以上指定できます。

    • DROPEFFECT_COPY   コピー操作を実行できます。

    • DROPEFFECT_MOVE   移動操作を実行できます。

    • DROPEFFECT_LINK   ドロップされたデータと元のデータとのリンクを確立できます。

    • DROPEFFECT_SCROLL   ドラッグ スクロール操作を実行できることを示します。

  • lpRectStartDrag
    ドラッグを実際に開始する位置を定義する四角形へのポインター。 詳細については、「解説」を参照してください。

  • pDropSource
    ドロップ ソースへのポインター。 NULL を指定したときは、COleDropSource の既定の実装が使われます。

戻り値

ドラッグ アンド ドロップの操作で生成されたドロップの結果を返します。ユーザーが指定された四角形から出る前にマウス ボタンを離したため、操作が始まらなかった場合は、DROPEFFECT_NONE を返します。

解説

ドラッグ アンド ドロップ操作はすぐには始まりません。 マウス カーソルが lpRectStartDrag で指定された四角形から離れるまで、または指定されたミリ秒数を経過するまで待機します。 lpRectStartDrag が NULL のとき、四角形のサイズは 1 ピクセルです。

遅延時間を指定するには、レジストリ キーを設定します。 遅延時間を変更するには、CWinApp::WriteProfileString または CWinApp::WriteProfileInt を呼び出します。 遅延時間が指定されていない場合、既定値の 200 ミリ秒が使用されます。 ドラッグ遅延時間は、以下の場所に保存されます。

  • Windows NT   HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\NT\CurrentVersion\IniFileMapping\win.ini\Windows\DragDelay

  • Windows 3.x   WIN.INI ファイルの [Windows] セクション。

  • Windows 95/98   WIN.INI のキャッシュ。

ドラッグ遅延時間をレジストリまたは .INI ファイルに保存する方法については、Windows SDK の「WriteProfileString」を参照してください。

詳細についてを参照してください「ドラッグ アンド ドロップ:ドロップ ソースの実装

必要条件

**ヘッダー:**afxole.h

参照

参照

COleDataSource クラス

階層図

COleDropSource::OnBeginDrag

COleDropSource クラス

その他の技術情報

COleDataSource のメンバー