特定のコンポーネントの座標を取得したい

解決


印刷屋  2007-02-04 13:26:39  No: 24773

スクロールボックス内に貼り付けた大きめのTImage上(BGとします)に小さなTImage(Items[X]とします)を動的に貼り付けるものを作りたいんですが、BGのMouseDownイベントなどにItems[X]を貼り付けるように組むと、既存のItems[X]上では貼り付けできなくなってしまいます。
重なりに依存せず、BGの座標を取得して動的にItemsを貼り付けるにはどうしたらよいでしょうか?


えーと  2007-02-04 20:20:03  No: 24774

TImage はウィンドウじゃないので親にはなれませんよ。スクロールボックス
の座標に変換して、スクロールボックスを親にしないとだめです。


印刷屋  2007-02-07 21:11:40  No: 24775

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イベントに埋め込むことで解決しました。
お世話様でした。


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

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






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