Delphi でいくつかのカスタム コントロール (TCustomControl) を作成しました。これらは実行時に移動できますが、1 つずつしか移動できません。実行時にこれらのコントロールを 2 つ以上選択し、それらをマウスで一緒に移動するにはどうすればよいですか?
ありがとうございました。
Delphi でいくつかのカスタム コントロール (TCustomControl) を作成しました。これらは実行時に移動できますが、1 つずつしか移動できません。実行時にこれらのコントロールを 2 つ以上選択し、それらをマウスで一緒に移動するにはどうすればよいですか?
ありがとうございました。
もう1つの商用ソリューションは、DevExpressからのものです:LayoutControl。実行時に、ドラッグアンドドロップ、グループ化、完全な再配置、非表示、およびコンポーネントの追加が可能です。
より簡単な方法が見つからない場合は、いつでも手動で行うことができます。選択したすべてのコントロールのリストを保持します。ドラッグ操作が開始されたら、別のリストを作成します。このリストには、各コントロールのTopプロパティとLeftプロパティがマウスの位置からどれだけ離れているかを示すTPoint値が含まれています。次に、ユーザーがコントロールをドラッグするときに、選択したコントロールを継続的に更新して、マウスポインターに対する適切な相対位置に維持します。
私は以前、 handlesという名前のコンポーネントを使用していましたが、私の記憶が正しければ、Delphi の新しいバージョンに更新して複数選択をサポートするのはそれほど難しくありませんでした。
商用ソリューションはどうですか?スクリーンショットは配置ツールを示しており、複数選択をサポートしていることを示唆しています。