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;
==============================================================
ヘルプを見る限りだとOperationにnone以外を指定したら受け入れって事になるんじゃないですかね
auさんの回答の通りですね。ソースを確認してみましたが、OnDragOverイベントでOperationに指定したものは
単に表示上の区別にのみ使われ、動作上はNoneかそれ以外、というかたちになっています。
Operationの値は,表示だけに影響するものと思い込んでいました。
ありがとうございました。
ツイート | ![]() |