![固定したオブジェクトを一括で出したり消したりする方法とは?](https://celebpanda.com/wp/wp-content/uploads/2021/05/セレブパンダブログ用.jpg)
この前に書いた記事の追加だお!
こちらの記事の続きになります。
http://celebpanda.com/wp/columns/diary/93/
string prefix = "BtnTest";
for(int i = 0; i < 10; i++)
{
string nameBtn = prefix + (string)i;
ObjectCreate(0,nameBtn,OBJ_BUTTON,0,0,0); //ボタンを生成
ObjectSetInteger(0,nameBtn,OBJPROP_XDISTANCE,0); //横位置
ObjectSetInteger(0,nameBtn,OBJPROP_YDISTANCE,30*i);//縦位置
ObjectSetInteger(0,nameBtn,OBJPROP_XSIZE,50); //横幅
ObjectSetInteger(0,nameBtn,OBJPROP_YSIZE,25); //縦幅
}
このコードで作成したオブジェクト名は、
BtnTest0・BtnTest1・BtnTest2・・・・BtnTest9になります。
これらの名前で検索して、設定をしてあげます。
オブジェクトに設定する場合は、主に下記の関数を使用します。
ObjectSetInteger() //int型の設定をするとき
ObjectSetString() //string型の設定をするとき
ObjectSetDouble() //Double型の設定をするとき
string prefix = "BtnTest";
for(int i = 0; i < 10; i++)
{
string nameBtn = prefix + (string)i;
ObjectSetInteger(0,nameBtn,OBJPROP_TIMEFRAMES,EMPTY);//全ての時間軸で非表示にする
}
for(int i = 0; i < 10; i++)
{
string nameBtn = prefix + (string)i;
ObjectSetInteger(0,nameBtn,OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);//全ての時間軸で表示する
}
このように書くと、指定した名前のオブジェクトを、
表示・非表示するだけなので、位置などは変更されません。
今回はボタンでやっていますが、これがトレンドラインや、水平線、垂直線などの場合でも同じです。
色を背景色と同じにすることで、
同じことができるんじゃないかと思いますが、少し異なります。
下記画像をご覧ください。
![](http://celebpanda.com/wp/wp-content/uploads/2021/05/4f4ad212422672311444bdd13c92ed9d.png)
赤い矢印が指しているところが、消えていませんか?
分かりやすく太さを極太にしていますが、色は黒になっています。
このようにロウソク足を黒く塗りつぶしてしまいます。
このような事態を避けるために、表示・非表示を使っていきましょう!
では、次回もお楽しみにだお!