はじめに
もし、グラフにWebページのクリッカブルマップのように、データ点をクリックすると何か動作をするような仕様を組み込めたら便利だと思いませんか? 「PowerTools True WinChart for .NET」コンポーネントを使うと、グラフにこのような機能を組み込むことができます。
そこで、今回はこのコンポーネントを使い、グラフにクリッカブルマップのような機能を組み込むTipsを紹介します。
対象読者
Visual Basic 2005を使ってプログラムを作ったことのある人
必要な環境
Visual Basic 2005またはVisual C# 2005、Visual Studio 2005でプログラムが作れる環境。
プログラム実行時の注意事項
本稿の実行ファイル(バイナリファイル)を動かすには、zipファイルに同梱してある以下のファイルが必要になります。
- C1.Win.C1Chart.2.dll … C1Chart コントロール(.NET Framework 2.0 用)
このファイルを実行プログラムと同じフォルダに格納します。また、.NET Framework 2.0から追加されたクラスやメンバを使用しているので、.NET Framework 2.0がインストールされていることが必須条件です。
コンポーネントのインストール
はじめてTrue WinChart for .NETを使用する方は、プロジェクトにTrue WinChart for .NETをインストールする必要があります。インストーラは、グレープシティのWebページからダウンロードできますので、ここからダウンロードしてインストールしてください。製品ページ左側の[ダウンロード]-[トライアル版]をクリックし、ダウンロード方法([FTP]または[HTTP])を選択すれば入手できます。ファイルはLZH形式で圧縮されています。
有償のコンポーネントですが、プロダクトキーを入力せずにインストールすることで、トライアル版として使用できます。制限事項などの詳細については、インストーラに同梱されているリリースノートを参照ください。
コントロールの追加
「True WinChart for .NET」をインストールしたら、ツールボックスに専用のタブを作成し、True WinChart for .NETのコンポーネントを追加します。追加するコンポーネントは、「.NET Frameworkコンポーネント」の「名前空間」が「C1.Win.C1」で始まる名前空間のコンポーネントです。
GUIの作成
このプログラムの機能は、グラフのチャート内に関する情報をマウスの動きと関連付け、まるでWebページのクリッカブルマップのようにマウスの動きからチャート情報を引き出し、処理に利用するというものです。この操作は、C1Chartコンポーネントのピクセル座標の値を、関連するデータ座標およびデータ点のインデックス番号に変換する(またはその逆)機能を利用します。
具体的には、C1Chartコンポーネント上をマウスが動くと、マウスの座標位置とグラフのデータ点からの距離をラベルで表示します。また、グラフのデータ点をクリックすると、そのデータ点の番号とデータ系列の番号をラベルで表示し、グラフと同じ色でラベルの背景色を設定します。
GUIは、C1ChartコントロールとVS標準のLabelコントロールを3つ配置するだけです。