前回は背景色の違うボタンを通常ボタンの上に重ねることで

選択してるボタンが一目でわかるようにしました。

ボタンの背景色を変えるだけでいいのに

なんでそんな面倒なことをしたかというと

ちゃんと理由があるんですよ。

 

たぶんみんな気付いてるでしょうが区切り線の処理で

時間足を切り替えた場合に

こんな風におかしくなってしまうことがあります。

この不具合を解消するためなんです。

 

この不具合は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を代入しますよー、という処理です。

 

こいつらをコピペして

 

 

ここに入れてください。

これで不具合が解消されます。