スクロールボックス内に貼り付けた大きめのTImage上(BGとします)に小さなTImage(Items[X]とします)を動的に貼り付けるものを作りたいんですが、BGのMouseDownイベントなどにItems[X]を貼り付けるように組むと、既存のItems[X]上では貼り付けできなくなってしまいます。
重なりに依存せず、BGの座標を取得して動的にItemsを貼り付けるにはどうしたらよいでしょうか?
TImage はウィンドウじゃないので親にはなれませんよ。スクロールボックス
の座標に変換して、スクロールボックスを親にしないとだめです。
procedure TForm1.ScrollBox1Click(Sender: TObject);
var
mp:TPoint;
begin
GetCursorPos(mp);
Label1.Caption := IntToStr(ScrollBox1.ScreenToClient(mp).X) + ':' + IntToStr(ScrollBox1.ScreenToClient(mp).Y);
end;
この手続きをScrollBox上のすべてのコンポOnClickイベントに埋め込むことで解決しました。
お世話様でした。
ツイート | ![]() |