掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TImageをマウスで移動するには? (ID:29986)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
暇なので支援。 Panel1,Image1は画面上に貼り付けてやってください。 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls; type TForm1 = class(TForm) Panel1: TPanel; //障害物として用意 Image1: TImage; //今回のターゲット procedure FormCreate(Sender: TObject); private { Private 宣言 } procedure ApplicationMessage(var Message: TMSG; var Handled: Boolean); public { Public 宣言 } end; var Form1: TForm1; implementation {$R *.dfm} { TForm1 } procedure TForm1.ApplicationMessage(var Message: TMSG; var Handled: Boolean); var PT: TPoint; begin //アプリケーションに来るメッセージをすべてチェック inherited; //子コントロールにもメッセージを流す //左マウスボタンを押した時の動作を記述 if Message.message = WM_LBUTTONDOWN then begin //messageの中にはメッセージにより様々なデータが格納されている //今回はWM_LBUTTONDOWN //中身はMSDNを調べてください。 PT := ScreenToClient(Message.pt); Image1.Left := pt.X - (Image1.Width div 2); Image1.Top := pt.Y - (Image1.Height div 2); end; end; procedure TForm1.FormCreate(Sender: TObject); begin //アプリケーションに通るメッセージを閲覧 Application.OnMessage := ApplicationMessage; //イメージの設定 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; end.
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.