Top > マウスによる入力

ユーザーがマウスを使って図形を描くプログラムを作るには、
ユーザーがマウスで入力した位置の座標を取得するための手続きや関数を使います。

クリックされた座標を取得する Edit

手続き「GetPt」はマウスクリックされるまでプログラムは待機し
クリックされたらその座標を返します。
以下のプログラムを実行するとマウスカーソルの形状が「+」に変わります。
用紙の上をクリックすると、クリックした位置に基準点が配置されます。
例題プログラム

PROCEDURE TEST;
VAR
		x,y:REAL;
BEGIN
		Getpt(x,y);
		Locus(x,y);
END;
Run(TEST);
5Getpt(x,y);手続きGetptを使ってユーザーが入力した座標を受け取ります。
ユーザがマウスクリックするまではこの行で待機しており、クリックされたら次の行に進みます。
6Locus(x,y);手続きLocusを使って基準点を配置します。

上記プログラムの実行結果
getpt01.jpg

マウスクリックした2点の座標を取得する。 Edit

手続き「GetLine」は1点目をクリックした後、2点目がクリックされるまでプログラムは待機します。
環境設定の「クリック・ドラッグ描画」が「ON」の時は、1点目と2点目がドラッグされるまで待機します。
2点目がクリックされたら、1点目と2点目の座標を返します。
以下のプログラムを実行するとマウスカーソルの形状が「+」に変わります。
用紙の上をクロックすると、クリックした点から線が伸びます。
もう一回クリックすると 直線が描かれます。
例題プログラム

PROCEDURE TEST;
VAR
		x1,y1,x2,y2:REAL;
BEGIN
		GetLine(x1,y1,x2,y2);
		MoveTo(x1,y1);
		LineTo(x2,y2);
END;
Run(TEST);
5GetLine(x1,y1,x2,y2);手続きGetLineを使って直線の座標をユーザから入力させます。
マウスで2点がクリックされるまで待機し、終わったら次の行に進みます。
6MoveTo(x1,y1);手続きMoveToを使って直線の書き始めの位置を指定します。
パラメータに直線の始点である(x1,y1)を与えています。
7LineTo(x2,y2);手続きLineToを使って直線を書きます。
パラメータに直線の主点である座標(x2,y2)を与えています。

上記プログラムの実行結果
getline01.jpg

マウスで指定した四角形の座標を取得 Edit

手続き「GetRect」は1点目をクリック後四角形の輪郭が表示され、2点目がクリックされるまでプログラムは待機します。
2点目がクリックされたら、四角形の座標を返します。
以下のプログラムを実行すると、マウスカーソルの形状が「+」に変わります。
用紙の上をクリックすると、四角形の輪郭が表示されます。
もう一回クリックすると、四角形が描かれます。

PROCEDURE TEST;
VAR
		x1,y1,x2,y2:REAL;
BEGIN
		GetRect(x1,y1,x2,y2);
		Rect(x1,y1,x2,y2);
END;
Run(TEST);
5GetRect(x1,y1,x2,y2);手続きGetRectを使って四角形の座標をユーザから入力させます。
マウスで四角形の座標が指示されるまでこの行で待機し指示が終わったら次の行へ進みます。
6Rect(x1,y1,x2,y2);手続きRectを使って四角形を書きます。

上記プログラムの実行結果
getrect01.jpg


添付ファイル: filegetrect01.jpg 70件 [詳細] filegetline01.jpg 71件 [詳細] filegetpt01.jpg 53件 [詳細]

リロード   新規 下位ページ作成 編集 凍結 差分 添付 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Thu, 24 Nov 2011 13:23:40 JST (4557d)