@Mike Sutton がコメントで指摘したように、OnTrack
イベントを使用TSelection
してイメージの更新をトリガーする必要があります。
ドキュメントには次のように記載されています。
OnTrack イベントのイベント ハンドラは、TSelection オブジェクトの移動中またはサイズ変更中に、MouseMove メソッドから周期的に呼び出されます。
カスタム OnTrack イベント ハンドラを記述して、TSelection が移動中またはサイズ変更中のときに特定のアクションを実行します。
コメントに記載されているように、コンポーネントは設計時の表面ではなく、実行時に動的に作成されます。そのため、コードでハンドラーを割り当てる必要もあります。次のようにします。
Selection1.OnTrack := SelectionTrack;
イベント ハンドラーは次のようになります。
procedure TfrmMainUI.SelectionTrack(Sender: TObject);
begin
Image1.Width:=Selection1.Width;
Image1.Height:=Selection1.Height;
Image1.Position.X:=Selection1.Position.X;
Image1.Position.Y:=Selection1.Position.Y;
end;
また、コメントで、リンクされた多数の画像と選択範囲の選択変更を追跡する必要があると述べています。次のようにイベント ハンドラーを変更できます。
procedure TfrmMainUI.SelectionTrack(Sender: TObject);
var
Selection: TSelection;
Image: TImage;
begin
Selection := Sender as TSelection;
Image := ImageFromSelection(Selection);//you need to implement this function
Image.Width:=Selection.Width;
Image.Height:=Selection.Height;
Image.Position.X:=Selection.Position.X;
Image.Position.Y:=Selection.Position.Y;
end;