ユーザーがマウスを使って図形を描くプログラムを作るには、
ユーザーがマウスで入力した位置の座標を取得するための手続きや関数を使います。
クリックされた座標を取得する
手続き「GetPt」はマウスクリックされるまでプログラムは待機し
クリックされたらその座標を返します。
以下のプログラムを実行するとマウスカーソルの形状が「+」に変わります。
用紙の上をクリックすると、クリックした位置に基準点が配置されます。
例題プログラム
PROCEDURE TEST;
VAR
x,y:REAL;
BEGIN
Getpt(x,y);
Locus(x,y);
END;
Run(TEST);
5 | Getpt(x,y); | 手続きGetptを使ってユーザーが入力した座標を受け取ります。 ユーザがマウスクリックするまではこの行で待機しており、クリックされたら次の行に進みます。 |
6 | Locus(x,y); | 手続きLocusを使って基準点を配置します。 |
上記プログラムの実行結果
マウスクリックした2点の座標を取得する。
手続き「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);
5 | GetLine(x1,y1,x2,y2); | 手続きGetLineを使って直線の座標をユーザから入力させます。 マウスで2点がクリックされるまで待機し、終わったら次の行に進みます。 |
6 | MoveTo(x1,y1); | 手続きMoveToを使って直線の書き始めの位置を指定します。 パラメータに直線の始点である(x1,y1)を与えています。 |
7 | LineTo(x2,y2); | 手続きLineToを使って直線を書きます。 パラメータに直線の主点である座標(x2,y2)を与えています。 |
上記プログラムの実行結果
マウスで指定した四角形の座標を取得
手続き「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);
5 | GetRect(x1,y1,x2,y2); | 手続きGetRectを使って四角形の座標をユーザから入力させます。 マウスで四角形の座標が指示されるまでこの行で待機し指示が終わったら次の行へ進みます。 |
6 | Rect(x1,y1,x2,y2); | 手続きRectを使って四角形を書きます。 |
上記プログラムの実行結果