- 日時: 2007/08/24 14:35
- 名前: 花ちゃん
コードが完成しましたのでサンプル投稿用掲示板の方にアップしておきました。
従って下記コードは参考程度に。
2007/08/24 14:37 -------------------------------------------------------------------------------------
Re^5: MSChartの座標値を求める.. - 花ちゃん 07/08/23-07:41 No.9943
での MouseMove イベントでその時のX軸のラベルを取得して、そのX軸のラベルの値をToolTipTextのような形で表示する を試してみたものです。
1.図の両サイドのラベルの軸線を MSChart1.Plot.Axis(i).Pen.VtColor.Set 255, 0, 5 のように、通常使用しない色で設定しておく(両サイド共) (図での両サイドの赤い縦の線) (通常の黒のままでも問題なく取得する事ができます)
2.作成した画像をピクチャーボックスに転送表示する 3.ラベルのX軸のRGB(255, 0, 5)の色がどの位置で塗られているかを取得する For i = 20 To 100 If co1 = Picture1.Point(i, 100) Then Debug.Print "始点は : " & i & " です。" X1 = i End If Next i 4.これを両サイドについて調べれば、範囲が解るので、列数で割れば各々のX軸ラベルの 位置がつかめる (図での赤い○の位置)
5.後は、MouseMove イベント下記のようにすれば取得できる
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, _ X As Single, Y As Single) Select Case X Case L1 To L2 Picture1.ToolTipText = MSChart1.ChartData(1, 0) & "さんの" & _ MSChart1.ChartData(0, 1) & "の点数は" & _ MSChart1.ChartData(1, 1) & "点で" & vbCrLf & _ MSChart1.ChartData(0, 2) & "の点数は" & _ MSChart1.ChartData(1, 2) & "点で" & vbCrLf & _ MSChart1.ChartData(0, 3) & "の点数は" & _ MSChart1.ChartData(1, 3) & "点です。"
Case L2 To L3 Picture1.ToolTipText = MSChart1.ChartData(2, 0) & "さんの" & _ MSChart1.ChartData(0, 1) & "の点数は" & _ MSChart1.ChartData(2, 1) & "点で" & vbCrLf & _ MSChart1.ChartData(0, 2) & "の点数は" & _
個々(国語・数学・英語)の区別をしたい場合は、その位置の色を調べれば 赤なら国語だと判断できる。
下記のサンプルに上記を付足して試したものです。 http://hanatyan.sakura.ne.jp/patio/read.cgi?mode=view2&f=118&no=27
-------------------------------------------------------------- 上記の実行図(画像をクリックすれば元のサイズで見られます。)
-
|