Delphi 10 Berlinでのdrag&drop

解決


Jasmine  2017-01-29 08:20:16  No: 48490

DelphiX3 + FireMonkey で書いた Drag&drop に関するコードが Delphi10では動きません。

下記は,TrectangleからTCircleにFill.Colorをドラッグしようとして書いたコードで,X3では動作していましたが,Delphi10では,onDragOverの引数自体が違うようで,Accept変数もありません。
リファレンスを検索しても手がかりはつかめませんでした。

==============================================================
procedure TForm1.Circle0DragOver(Sender: TObject; const Data: TDragObject;
  const Point: TPointF; var Accept: Boolean);
begin
  Accept := true;
end;

procedure TForm1.Circle0DragDrop(Sender: TObject; const Data: TDragObject;
  const Point: TPointF);
begin
  Tshape(sender).Fill.Color := Tshape(data.Source).Fill.Color;
end;
==============================================================


au  2017-01-30 19:36:21  No: 48491

ヘルプを見る限りだとOperationにnone以外を指定したら受け入れって事になるんじゃないですかね


通りすがり  2017-01-30 23:21:36  No: 48492

auさんの回答の通りですね。ソースを確認してみましたが、OnDragOverイベントでOperationに指定したものは
単に表示上の区別にのみ使われ、動作上はNoneかそれ以外、というかたちになっています。


Jasmine  2017-01-31 08:49:41  No: 48493

Operationの値は,表示だけに影響するものと思い込んでいました。
ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加