前回は三つのボタンを作成しました。

あとはボタンをクリックした時のアクションを設定するのですが

手順として、例えばMonthlyボタンをクリックした場合は

 

1. Rectangle、区切り線、水平線を削除する

2. TimeFrameを43200に変更する

3. Rectangle、区切り線、水平線を再描画する

 

という流れの処理になります。

Weeklyボタン、Dailyボタンについても

TimeFrameの変更値がそれぞれ10080、1440になるだけで

他は同じです。

 

TimeFrameの変更は

 

TimeFrame = 43200;

 

この一行で済むので簡単です。

ですが、削除処理は

 

 

これだけありますし、描画処理に至っては

 

 

これだけの行数があります。

コピペするのは簡単ですし確実ではあるのですが

行数が増えすぎると全体の構成がわかりにくくなります。

なので、この一連の処理を

 

サブルーチン Subroutine にします。

 

言葉にすると難しそうですが、やることは簡単です。

まず

 

void DeleteRectangles(){}

 

この一行をプログラムの一番最後に追加してください。

 

この下です。

次に、削除処理の

 

 

この部分をごっそり丸ごと切り取って
void DeleteRectangles(){}

の {} の中に貼り付けます。

 

 

こんな感じ。

 

これで、この一連の削除処理をDeleteRectanglesという名前で定義したので

これと同じ処理を行う場合は

 

DeleteRectangles();

 

この一行を入れるだけでOKになります。

とりあえず、切り取ってしまった終了処理の箇所に入れてください。

 

 

これでOKになります。

 

 

次回は同じようにして描画処理をサブルーチン化します。