ドラッグ操作の終了
コントロールの利用:インデックス への移動
ドラッグした項目をドロップするか,または項目を受け入れないコントロール上でマウスボタンを離した時点で,ドラッグ操作が終了します。ドラッグ操作が終了すると,ドラッグ元のコントロールに対してドラッグ終了イベントが送られます。項目のドラッグ元のコントロールでドラッグの終了に応答するには,コントロールの OnEndDrag イベントに対応するイベントハンドラを定義します。
OnEndDrag イベントの最も重要なパラメータは Target です。このパラメータはドロップを受け入れたコントロールを示します。Target が nil であれば(何も入っていなければ),ドラッグした項目を受け入れたコントロールがないことを示します。OnEndDrag イベントには,受け入れ側コントロールの座標を示すパラメータもあります。
次の VCL 例では,ファイルリストボックスがドラッグ終了イベントに応答してファイルリストを更新しています。
procedure TFMForm.FileListBox1EndDrag(Sender, Target: TObject; X, Y: Integer);
begin
if Target <> nil then FileListBox1.Update;
end;
void __fastcall TFMForm::FileListBox1EndDrag(TObject *Sender, TObject *Target, int X, int Y)
if (Target)
FileListBox1->Update();
};