掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TImageをマウスで移動するには? (ID:29982)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Form1にImage1を置き、マウスでクリックした位置にImage1を移動させたくて、 次のように書いたのですが、Image1の外(Form1上)では、動いてくれません。 TForm1MouseDownでは、肝心なImage1の上で動いてくれません。 こんな場合は、どうしたら良いものでしょう。? また、下の「var I:Integer」は、procedure TForm1.Image1MouseDownの中に書くと、 認識しない(使えない)ようです。何故でしょう? よろしくお願いします。delphi6pro+xp var Pxy:array[0..1] of TPoint; Tx,Ty:Integer; I:Integer; procedure TForm1.FormCreate(Sender: TObject); begin Image1.Width:=200; Image1.Height:=200; with Image1.Canvas do begin Rectangle(0,0,200,200); Rectangle(50,50,150,150); MoveTo(0,100); LineTo(200,100); MoveTo(100,0); LineTo(100,200); end; end; procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Pxy[I].x:=x; Pxy[I].y:=y; //座標確認用 Label1.Caption:='座標 : '+IntToStr(I)+': '+IntToStr(Pxy[I].x)+' , '+IntToStr(Pxy[I].y) ; I:=I+1; If I>1 then Begin Tx:=Pxy[1].x-Pxy[0].x; Ty:= Pxy[1].y-Pxy[0].y; //座標確認用 Label2.Caption:='Top,Left : '+ IntToStr(Image1.Top)+' , '+IntToStr(Image1.Left); Image1.Top:=Image1.Top+ Ty; Image1.Left:=Image1.Left+Tx; I:=0; end; end; end.
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.