前回は背景色の違うボタンを通常ボタンの上に重ねることで
選択してるボタンが一目でわかるようにしました。
ボタンの背景色を変えるだけでいいのに
なんでそんな面倒なことをしたかというと
ちゃんと理由があるんですよ。
たぶんみんな気付いてるでしょうが区切り線の処理で
時間足を切り替えた場合に
こんな風におかしくなってしまうことがあります。
この不具合を解消するためなんです。
この不具合はTimeFrameのパラメーターを見失ってるってことなので
色つきボタンの表示名を読み取って
そいつをTimeFrameのパラメーターとして設定してやる、ということです。
意味わかんないでしょ?(笑)
string timeframe = ObjectGetString(0,"CurrentButton",OBJPROP_TEXT);
if(timeframe == "Monthly")TimeFrame = 43200;
else if(timeframe == "Weekly")TimeFrame = 10080;
else if(timeframe == "Daily") TimeFrame = 1440;
これらのコードを追加するのですが
最初の行は
CurrentButton、つまり色つきボタンのテキストのプロパティを読み取って
timeframeという文字列に代入しますよー、という処理です。
ObjectGetStringがオブジェクトのテキストを取得する関数です。
その下は
もし、色つきボタンの表示テキストが「Monthly」だったら
TimeFrameに43200を代入しますよー、という処理です。
こいつらをコピペして
ここに入れてください。
これで不具合が解消されます。

