スマホで、画面を指でなぞって、Panelを動かすには?

解決


かんとく  2014-10-03 10:01:22  No: 46728

お世話になっております。

Windows7,DelphiXE6,Mobile Add-On Packです。

FireMonkeyで、スマホ用のアプリを作ろうとしています。

開発環境のデザイン画面で、フォームに、フォームのWidth,Heightよりも大きいサイズのPanelを配置します。

アプリ実行中に、スマホの画面を指で上下左右に動かして、このPanelを指の動きの通りに上下左右に動かしたいのです。

他者が作ったスマホのアプリでは、指を上下に勢いよく動かすと、指を画面から離した後も、その勢いで画面がスクロールするものがありますが、それと同じように動かしたいです。

画面を指でなぞって、フォーム上のPanelを動かすには、どうしたらよいでしょうか。

よろしくお願いします。


いけぴ  2014-10-03 18:19:20  No: 46729

ざっくりですが、OnMouseMoveイベントを拾ってそのX,Yの値を元に
パネルのPositionに設定するような作りになると思います。
指を離した後も動かすためにはタイマー等も必要になると思います。


take  2014-10-03 20:05:32  No: 46730

根本的に作り方が違っているような・・・
フォームより大きいサイズの領域を扱い
それを慣性スクロールさせるのであれば
TScrollBoxを使ってみてはいかがでしょうか?


かんとく  2014-10-04 08:39:02  No: 46731

ありがとうございます。

OnMouseMoveは、自分も考えていたんですが、「OnMouse」なので、指が離れた後にどうしたらいいのかな、と考えていました。

TScrollBoxは、まさに望みどおりでした。
指が離れた後も、指の動きの勢いに応じて思い通りに動きました。
「慣性スクロール」と言うんですね。

ほんとに、ありがとうございました。


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

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






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