目次 前へ 次へ

9.7.5 ガント バーにマーカーを追加する

ガントバーの始点と終点の両方に様々なマーカーを簡単に追加できます。例えば、重要なマイルストーンなどを図示するための代わりの方法として、マーカーが使用されます。

左付き、右付きののマーカーは、'leftMark' プロパティと'rightMark'プロパティから指定します。それらは両方とも、マイルストーン(そしてラインプロットでも)に対しても使用されるPlotMarkクラスのインスタンスです。PlotMarkクラスは、例えばダイヤモンド(マイルストーンではデフォルト)、円、もしくは塗りつぶしの円、四角、星印などのようないくつかの異なるスタイルをサポートします。完全なリストはリファレンスセクションを参照してください。

マーカーを説明するために、右付きのマーカーをこれまでの例に付け加えてみましょう。”M5”という白地のタイトルを持つ、赤色の塗りつぶしの円のスタイルを使用しましょう。これを実現させるために、次の行をこれまでの例に付け加えます。

$activity->rightMark->Show();
$activity->rightMark->title->Set("M5");
$activity->rightMark->SetType(MARK_FILLEDCIRCLE);
$activity->rightMark->SetWidth(10);
$activity->rightMark->SetColor("red");
$activity->rightMark->SetFillColor("red");
$activity->rightMark->title->SetFont(FF_ARIAL,FS_BOLD,12);
$activity->rightMark->title->SetColor("white");

これはかなり長いコードに思えるかもしれませんが、これ以上複雑になることはありません。 以下のイラストの例では、変更可能なものはデフォルトのフォント、フォント カラー、塗りつぶしカラー、フレーム カラー、マーカーの幅に変わります。実際に必要なのはマークを表示しタイトルを設定する最初の2行のみです。 残りのプロパティはデフォルト値を使用すれば正常に表示されます。

結果の画像は、下図155に示されたとおりです。



図 155:バーへ右つきマーカーを加える [ソース]

ここで、ある不思議な現象を解説したいと思います。 これまでの2つの例を比較した場合、最後の例はその前の例よりも大きいことに気づかれるでしょう。それは、なぜでしょうか?

バーの高さが水平方向の間隔に比例して決められることを覚えているならば、その説明は簡単です。水平方向の間隔は、タイトルサイズや、ここで説明するマーカーサイズを含めた最も高いバーを基準としています。最小の高さがいま10ポイント(=マークの高さ)に基づいているので、水平方向の間隔が延長されました。バーの高さは同じ割合で設定されるので、最後の例が大きくなったのです。

この動作が好ましくない場合、次の関数を用いて、バーの高さを絶対サイズ(ここでは8ピクセル)に指定することが可能です。

$activity->SetHeight(8);

これにより下図156のような結果が得られます。



図 156:バーの高さの絶対サイズを指定する [ソース]


目次 前へ 次へ