まず、前回までと同じように横幅200px、高さ200pxの四角形をオブジェクトで作成します。
今回は、左上、左下、右上、右下にそれぞれ四角形のオブジェクトを表示させます。
表示位置のチェックだけをしたいので、表示させる場所をそれぞれ指定して同じ形の四角形を4つ作成します。
では、早速、コードを書いていきます。
■オブジェクトの処理
今回は、4つの四角形をオブジェクトで作っていくので、それぞれにオブジェクト名とオブジェクトのIDを指定していきます。
①string obj_name_l_u = "left_upper";
②string obj_name_l_l = "left_lower";
③string obj_name_r_u = "right_upper";
④string obj_name_r_l = "right_lower";
⑤int chart_id01 = 0;
⑥int chart_id02 = 0;
⑦int chart_id03 = 0;
⑧int chart_id04 = 0;
①string obj_name_l_u = "left_upper";
左上に表示させるオブジェクト名を「left_upper」と指定。
②string obj_name_l_l = "left_lower";
左下に表示させるオブジェクト名を「left_lower」と指定。
③string obj_name_r_u = "right_upper";
右上に表示させるオブジェクト名をright_upper」と指定。
④string obj_name_r_l = "right_lower";
右下に表示させるオブジェクト名を「right_lower」と指定。
⑤int chart_id01 = 0;
左上に表示させるオブジェクトIDの変数名を「chart_id01」と指定して、メインウインドウに表示するために「0」を代入。
⑥int chart_id02 = 0;
左下に表示させるオブジェクトIDの変数名を「chart_id02」と指定して、メインウインドウに表示するために「0」を代入。
⑦int chart_id03 = 0;
右上に表示させるオブジェクトIDの変数名を「chart_id03」と指定して、メインウインドウに表示するために「0」を代入。
⑧int chart_id04 = 0;
右下に表示させるオブジェクトIDの変数名を「chart_id04」と指定して、メインウインドウに表示するために「0」を代入。
次に、オブジェクトの作成をしていきます。
①ObjectsDeleteAll();
②ObjectCreate(chart_id01,obj_name_l_u,OBJ_RECTANGLE_LABEL,0,0,0);
③ObjectCreate(chart_id02,obj_name_l_l,OBJ_RECTANGLE_LABEL,0,0,0);
④ObjectCreate(chart_id03,obj_name_r_u,OBJ_RECTANGLE_LABEL,0,0,0);
⑤ObjectCreate(chart_id04,obj_name_r_l,OBJ_RECTANGLE_LABEL,0,0,0);
①ObjectsDeleteAll();
表示されているオブジェクトがあった場合、被ってしまうことがあるので、表示されているオブジェクトをすべて削除します。
②ObjectCreate(chart_id01,obj_name_l_u,OBJ_RECTANGLE_LABEL,0,0,0);
左上の四角形のオブジェクトID「chart_id01」、オブジェクト名「obj_name_l_u」、オブジェクトの種類「長方形」、表示させるウインドウの番号を「0(チャートウインドウ)」、オブジェクトのアンカーポイントを「0,0,0」に設定。
③ObjectCreate(chart_id02,obj_name_l_l,OBJ_RECTANGLE_LABEL,0,0,0);
左下の四角形のオブジェクトID「chart_id02」、オブジェクト名「obj_name_l_l」、オブジェクトの種類「長方形」、表示させるウインドウの番号を「0(チャートウインドウ)」、オブジェクトのアンカーポイントを「0,0,0」に設定。
④ObjectCreate(chart_id03,obj_name_r_u,OBJ_RECTANGLE_LABEL,0,0,0);
右上の四角形のオブジェクトID「chart_id03」、オブジェクト名「obj_name_u_u」、オブジェクトの種類「長方形」、表示させるウインドウの番号を「0(チャートウインドウ)」、オブジェクトのアンカーポイントを「0,0,0」に設定。
⑤ObjectCreate(chart_id04,obj_name_r_l,OBJ_RECTANGLE_LABEL,0,0,0);
右下の四角形のオブジェクトID「chart_id04」、オブジェクト名「obj_name_u_l」、オブジェクトの種類「長方形」、表示させるウインドウの番号を「0(チャートウインドウ)」、オブジェクトのアンカーポイントを「0,0,0」に設定。
次に、それぞれの四角形のプロパティと位置などを設定するコードを書いていきます。
■左上の四角形
①ObjectSetInteger(chart_id01, obj_name_l_u, OBJPROP_CORNER, CORNER_LEFT_UPPER);
②ObjectSetInteger(chart_id01, obj_name_l_u, OBJPROP_XDISTANCE, 30);
③ObjectSetInteger(chart_id01, obj_name_l_u, OBJPROP_YDISTANCE, 30);
④ObjectSetInteger(chart_id01, obj_name_l_u, OBJPROP_XSIZE, 200);
⑤ObjectSetInteger(chart_id01, obj_name_l_u, OBJPROP_YSIZE, 200);
⑥ObjectSetInteger(chart_id01, obj_name_l_u, OBJPROP_BGCOLOR, EMPTY_VALUE);
⑦ObjectSetInteger(chart_id01, obj_name_l_u, OBJPROP_BACK, true);
⑧ObjectSetInteger(chart_id01, obj_name_l_u, OBJPROP_BORDER_TYPE, BORDER_FLAT);
⑨ObjectSetInteger(chart_id01, obj_name_l_u, OBJPROP_COLOR, clrWhite);
⑩ObjectSetInteger(chart_id01, obj_name_l_u, OBJPROP_STYLE, STYLE_SOLID);
⑪ObjectSetInteger(chart_id01, obj_name_l_u, OBJPROP_WIDTH, 5);
①ObjectSetInteger(chart_id01, obj_name_l_u, OBJPROP_CORNER, CORNER_LEFT_UPPER);
オブジェクトの原点を画面左上の中心に指定。
②ObjectSetInteger(chart_id01, obj_name_l_u, OBJPROP_XDISTANCE, 30);
設定した原点からのX軸の画面中央に向かっての距離を「30」に指定。
③ObjectSetInteger(chart_id01, obj_name_l_u, OBJPROP_YDISTANCE, 30);
設定した原点からのY軸の画面中央に向かっての距離を「30」に指定。
④ObjectSetInteger(chart_id01, obj_name_l_u, OBJPROP_XSIZE, 200);
オブジェクトの横幅を「200」に設定。
⑤ObjectSetInteger(chart_id01, obj_name_l_u, OBJPROP_YSIZE, 200);
オブジェクトの高さを「200」に設定。
⑥~⑪までの説明は省略します。詳しく知りたい方は、前回の記事「
オブジェクトで四角形を描いて装飾をする」を参考にしてください。
■左下の四角形
①ObjectSetInteger(chart_id02, obj_name_l_l, OBJPROP_CORNER, CORNER_LEFT_LOWER);
②ObjectSetInteger(chart_id02, obj_name_l_l, OBJPROP_XDISTANCE, 30);
③ObjectSetInteger(chart_id02, obj_name_l_l, OBJPROP_YDISTANCE, 230);
以下省略
①ObjectSetInteger(chart_id02, obj_name_l_l, OBJPROP_CORNER, CORNER_LEFT_LOWER);
オブジェクトの原点を画面左下の中心に指定。
②ObjectSetInteger(chart_id02, obj_name_l_l, OBJPROP_XDISTANCE, 30);
設定した原点からのX軸の画面中央に向かっての距離を「30」に指定。
③ObjectSetInteger(chart_id02, obj_name_l_l, OBJPROP_YDISTANCE, 230);
設定した原点からのY軸の画面中央に向かっての距離を「230」に指定。
以下のコードはオブジェクトIDとオブジェクト名以外は、左上の四角形と同じになるので説明は省略します。
■右上の四角形
①ObjectSetInteger(chart_id03, obj_name_u_u, OBJPROP_CORNER, CORNER_RIGHT_UPPER);
②ObjectSetInteger(chart_id03, obj_name_u_u, OBJPROP_XDISTANCE, 230);
③ObjectSetInteger(chart_id03, obj_name_u_u, OBJPROP_YDISTANCE, 30);
以下省略
①ObjectSetInteger(chart_id03, obj_name_u_u, OBJPROP_CORNER, CORNER_RIGHT_UPPER);
オブジェクトの原点を画面右上の中心に指定。
②ObjectSetInteger(chart_id03, obj_name_u_u, OBJPROP_XDISTANCE, 230);
設定した原点からのX軸の画面中央に向かっての距離を「230」に指定。
③ObjectSetInteger(chart_id03, obj_name_u_u, OBJPROP_YDISTANCE, 30);
設定した原点からのY軸の画面中央に向かっての距離を「30」に指定。
以下のコードはオブジェクトIDとオブジェクト名以外は、左上の四角形と同じになるので説明は省略します。
■右下の四角形
①ObjectSetInteger(chart_id04, obj_name_u_l, OBJPROP_CORNER, CORNER_LEFT_LOWER);
②ObjectSetInteger(chart_id04, obj_name_u_l, OBJPROP_XDISTANCE, 230);
③ObjectSetInteger(chart_id04, obj_name_u_l, OBJPROP_YDISTANCE, 230);
以下省略
①ObjectSetInteger(chart_id04, obj_name_u_l, OBJPROP_CORNER, CORNER_LEFT_LOWER);
オブジェクトの原点を画面左下の中心に指定。
②ObjectSetInteger(chart_id04, obj_name_u_l, OBJPROP_XDISTANCE, 230);
設定した原点からのX軸の画面中央に向かっての距離を「230」に指定。
③ObjectSetInteger(chart_id04, obj_name_u_l, OBJPROP_YDISTANCE, 230);
設定した原点からのY軸の画面中央に向かっての距離を「230」に指定。
以下のコードはオブジェクトIDとオブジェクト名以外は、左上の四角形と同じになるので説明は省略します。
少し長くなりましたが、これで完成です。
それでは、コンパイルして実行してみます。