자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Firemonkey firemonkey mobile application에서 버튼 드래그 앤 드롭 작동 문제
2014.11.02 17:47
폼에 버튼을 하나 달아놓고 드래그 앤 드롭(버튼을 화면 이리저리 움직여야 할 일이 있어서) 테스트를 하고 있는데 32비트 windows 모드에서는 잘 작동하는데 안드로이드 모드로 제작해서 테스트하면 드래그 앤 드롭이 작동하지 않습니다. 부탁드립니다.
unit Unit1;
interface
uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls;
type TForm1 = class(TForm) Button1: TButton; procedure DragOver(const Data: TDragObject; const Point: TPointF; var Accept: Boolean); override; procedure DragDrop(const Data: TDragObject; const Point: TPointF); override; private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.fmx}
procedure TForm1.DragDrop(const Data: TDragObject; const Point: TPointF);var P: TPointF;beginP:= screenToClient(Point);TButton(Data.Source).Position.X:=P.X - TButton(Data.Source).Width/2;TButton(Data.Source).Position.Y:=P.Y - TButton(Data.Source).Height/2;end;
procedure TForm1.DragOver(const Data: TDragObject; const Point: TPointF; var Accept: Boolean);begin Accept := True;end;
end.
Firemonkey firemonkey mobile application에서 버튼 드래그 앤 드롭 작동 문제
2014.11.02 17:47
폼에 버튼을 하나 달아놓고 드래그 앤 드롭(버튼을 화면 이리저리 움직여야 할 일이 있어서) 테스트를 하고 있는데 32비트 windows 모드에서는 잘 작동하는데 안드로이드 모드로 제작해서 테스트하면 드래그 앤 드롭이 작동하지 않습니다. 부탁드립니다.
unit Unit1;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure DragOver(const Data: TDragObject;
const Point: TPointF; var Accept: Boolean); override;
procedure DragDrop(const Data: TDragObject;
const Point: TPointF); override;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.fmx}
procedure TForm1.DragDrop(const Data: TDragObject;
const Point: TPointF);
var P: TPointF;
begin
P:= screenToClient(Point);
TButton(Data.Source).Position.X:=P.X - TButton(Data.Source).Width/2;
TButton(Data.Source).Position.Y:=P.Y - TButton(Data.Source).Height/2;
end;
procedure TForm1.DragOver(const Data: TDragObject;
const Point: TPointF; var Accept: Boolean);
begin
Accept := True;
end;
end.
모바일에서는 드래그앤드랍기능을 제공하지 않는 것으로 알고있습니다.
먼저 지원여부 확인 후 시도해 보시면 좋겠습니다.