QNo. |
Q.質問 |
日付 |
A.回答 |
15 |
Q. Windows VistaにTeeChart Pro .NET 2Jをインストールまたはアンインストールしようとしているのですが、「サポート担当者またはパッケージのベンダに問い合わせてください」というメッセージが表示され、インストールまたはアンインストールができません。
回避方法を教えてください。 |
2008/07/03 |
A. Windows Vista上で次の設定を行ってください。
[コントロールパネル]→[クラシック表示]→[ユーザアカウント]→[ユーザアカウント制御の有効化または無効化]→[ユーザアカウント制御(UAC)を使ってコンピュータの保護に役立たせる]のチェックを外してください。
その後で、再度インストールまたはアンインストールを行ってください。 |
14 |
Q. ClickOnce には対応していますか? |
2007/03/07 |
A. はい、対応しています。
TeeChart Pro .NET 2J の製品紹介ページにClickOnceのデモページへのリンクを追加しました。ご活用ください。 |
13 |
Q. ノータッチ デプロイメント には対応していますか? |
2007/03/07 |
A. はい、対応しています。
TeeChart Pro .NET 2J の製品紹介ページにノータッチ
デプロイメントのデモページへのリンクを追加しました。ご活用ください。 |
12
|
Q.作成したアプリケーションとTeeChart.dllを配布先にコピーしても正しく動作しないのですが? |
2007/03/07 |
A.TChartやChart、WebChartを使用するプロジェクトには「Licenses.licx」ファイルが必要です。このファイルは、チャートが追加されるときにVisual
StudioのIDEによってTChart (Windows Formのチャート)やWebChart (Web
Formのチャート)のプロジェクトに自動的に追加されます。また、「Licenses.licx」ファイルにはTeeChart.dllのバージョンが付加されますので、dllを変更した段階でlicxファイルも一緒に更新してください。 |
11
|
Q.チャートの背景を透明に設定して、クリップボードにコピーすると背景が青色になり透明ではありません。どうしてですか? |
2007/03/07 |
A.クリップボードにコピーする際に透明イメージの背景が青くならないようにする方法は次のどちらかになります。
1)p-invokeつまり安全ではない(アンマネージドコード)C#のコードを使用する
2)アルファチャンネルのイメージをテストするアプリケーションに貼り付ける
TeeChartは「100%マネージドコードを使用」と告知しておりますので、最初の解決策を使用することはできません
そして2つ目の解決策は実行不可能です。
従いまして、この問題を解決することはできません。 |
10
|
Q.teechart.dllはWindows
CE .NETと一緒に使用できますか? |
2007/03/07 |
A.できません。teechart.dllはWindows
CE .NETと一緒に使用できませんが、teechart.pocket.dllは一緒に使用できます(TeeChart
Pro .NET 2J
の製品バージョンに添付されています)。下記のフォルダ内にteechart.pocket.dllの使用例があります。
C:\Program Files\Steema Software\TeeChart for .NET v2\Examples\Compact
Framework |
9
|
Q.マーカラベルを10進法なしで表示するにはどのようにフォーマットしたらいいですか? |
2007/03/07 |
A.次の例のように、GetSeriesMark()イベントを使用することができます。
C# :
this.bar1.GetSeriesMark
+= new Steema.TeeChart.Styles.Series.GetSeriesMarkEventHandler(this.bar1_GetSeriesMark);
private void Form1_Load(object sender, System.EventArgs e) {
Random rnd = new Random();
for(int i = 0; i < 10; ++i) {
bar1.Add(Convert.ToDouble(i), rnd.NextDouble() * 10);
}
bar1.Marks.Style = Steema.TeeChart.Styles.MarksStyles.Percent;
}
private void bar1_GetSeriesMark(Steema.TeeChart.Styles.Series series,
Steema.TeeChart.Styles.GetSeriesMarkEventArgs e) {
string s = e.MarkText.Replace(" %", "");
double d = Math.Round(Convert.ToDouble(s), 0);
e.MarkText = d.ToString() + " %";
}
VB :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim rnd As New Random
Dim i As Integer
For i = 0 To 9
Bar1.Add(Convert.ToDouble(i), rnd.NextDouble * 10)
Next
Bar1.Marks.Style = Steema.TeeChart.Styles.MarksStyles.Percent
End Sub
Private Sub Bar1_GetSeriesMark(ByVal series As Steema.TeeChart.Styles.Series, ByVal e As Steema.TeeChart.Styles.GetSeriesMarkEventArgs)
Dim s As String = e.MarkText.Replace(" %", "")
Dim d As Double = Math.Round(Convert.ToDouble(s), 0)
e.MarkText = d.ToString() + " %"
End Sub
|
8
|
Q.PrintDocumentにチャートを描画するにはどうすればいいですか? |
2007/03/07 |
A.下記のコードを参考にしてください。
C# :
private void
button1_Click(object sender, System.EventArgs e) {
tChart1.Printer.BeginPrint();
tChart1.Printer.Print(new Rectangle(100,10,300,200));
PrintDocument pDoc = tChart1.Printer.PrintDocument;
pDoc.Print();
}
VB :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
TChart1.Printer.BeginPrint()
TChart1.Printer.Print(New Rectangle(100, 10, 300, 200))
Dim pDoc As System.Drawing.Printing.PrintDocument = TChart1.Printer.PrintDocument
pDoc.Print()
End Sub
|
7
|
Q.ボーランド社のC#
Builderと互換性がありますか? |
2007/03/07 |
A.TeeChart Pro .NET
2J
のネイティブC# コンポーネントは、C# Builderと互換性があります。体験版をダウンロードして、C#
Builderでお試しください。
体験版と製品版に含まれるExamples\DemoProjectフォルダ内のプロジェクトファイルをC#
Builderでコンパイルする場合は、「プロジェクト」-「オプション」の「アプリケーション」のStartupオブジェクトの「TeeChart.Samples.MainForm」を「Steema.TeeChart.Samples.MainForm」に変更してください。 |
6
|
Q.UNICODEをサポートしていますか? |
2007/03/07 |
A.TeeChartのTChartクラスはSystem.Windows.Forms.Controlから継承されており、Unicodeをサポートしています。使用しているVS.NETコードファイルがUNICODE形式で保存されるか確認してください。これは、コードファイルを開いて、ファイルメニューの保存オプションの詳細設定を選択して確認することができます。 |
5
|
Q.チャートにデータを追加する一番速い方法は? |
2007/03/07 |
A.TeeChartにリアルタイムのデータを追加する一番速い方法は、折れ線系列を使用することです。描画速度をあげるには、DrawAllPointsプロパティを使用します。このプロパティは、同じXピクセル位置に配置されないポイント間の線だけを描画します。
C# :
fastLine1.DrawAllPoints = false;
VB :
FastLine1.DrawAllPoints = False
|
4
|
Q.チャートに大量のデータを追加する最も良い方法は? |
2007/03/07 |
A.デザイン時に折れ線系列を使用して、下記ような配列やコードを使用できます。
C# :
private void
Form1_Load(object sender, System.EventArgs e) {
Steema.TeeChart.Styles.FastLine fastLine1 = new Steema.TeeChart.Styles.FastLine(tChart1.Chart);
const int numPoints = 500000;
fastLine1.GetHorizAxis.SetMinMax(0,numPoints-1);
// Series1
に繰り返しなしポイントのみを描画するように通知(より速く処理します!)
fastLine1.DrawAllPoints = false;
// 500.000ポイントを生成しましょう。
double[] myX = new double[numPoints];
double[] myY = new double[numPoints];
System.Random r = new System.Random();
double tmp = r.NextDouble()*10000;
for (int t=0; t<numPoints; t++) {
tmp += r.Next(100)-49.5;
myX[t] = t;
myY[t] = tmp;
}
// ここで系列にポイントを追加
fastLine1.Add(myX, myY);
}
VB :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim FastLine1 As New Steema.TeeChart.Styles.FastLine(TChart1.Chart)
Dim numPoints As Integer = 500000
FastLine1.GetHorizAxis.SetMinMax(0, numPoints - 1)
' Series1 に繰り返しなしポイントのみを描画するように通知(より速く処理します!)
FastLine1.DrawAllPoints = False
' 500.000ポイントを生成しましょう。
Dim myX(numPoints) As Double
Dim myY(numPoints) As Double
Dim R As New System.Random
Dim tmp As Double = R.NextDouble() * 10000
Dim t As Integer
For t = 0 To numPoints - 1
tmp += R.Next(100) - 49.5
myX(t) = t
myY(t) = tmp
Next t
' ここで系列にポイントを追加
FastLine1.Add(myX, myY)
End Sub
|
3
|
Q.チャートの幅を縮めると、X軸のラベルの一部が表示されないのですが? |
2007/03/07 |
A.下記のコードを使用すると、そのような現象を最小限に抑えられます。
C# :
private void
Form1_Load(object sender, System.EventArgs e) {
Steema.TeeChart.Styles.Bar bar1 = new Steema.TeeChart.Styles.Bar(tChart1.Chart);
bar1.FillSampleValues(20);
tChart1.Axes.Bottom.Automatic = false;
tChart1.Axes.Bottom.Increment = 2;
tChart1.Axes.Bottom.Labels.Separation = 0;
tChart1.Axes.Bottom.SetMinMax(bar1.XValues.Minimum, bar1.XValues.Maximum);
tChart1.Dock = System.Windows.Forms.DockStyle.Fill;
}
VB :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim Bar1 As New Steema.TeeChart.Styles.Bar(TChart1.Chart)
Bar1.FillSampleValues(20)
TChart1.Axes.Bottom.Automatic = False
TChart1.Axes.Bottom.Increment = 2
TChart1.Axes.Bottom.Labels.Separation = 0
TChart1.Axes.Bottom.SetMinMax(Bar1.XValues.Minimum, Bar1.XValues.Maximum)
TChart1.Dock = System.Windows.Forms.DockStyle.Fill
End Sub
|
2
|
Q.系列ポイントがある所だけX軸のラベルを表示するにはどうすればいいですか? |
2007/03/07 |
A.下記のコードを参考にしてください。
C# :
Steema.TeeChart.Styles.Line line1 = new Steema.TeeChart.Styles.Line(tChart1.Chart);
Random rnd = new
Random();
for(int i = 0; i < 10; ++i) {
double xValue = rnd.Next(20);
double yValue = rnd.Next(100);
line1.Add(xValue, yValue, xValue.ToString());
}
tChart1.Axes.Bottom.Labels.Style = Steema.TeeChart.AxisLabelStyle.Text;
VB :
Dim Line1 As New Steema.TeeChart.Styles.Line(TChart1.Chart)
Dim Rnd As New Random
Dim I As Integer
For I = 0 To 9
Dim xValue As Double = Rnd.Next(20)
Dim yValue As Double = Rnd.Next(100)
Line1.Add(xValue, yValue, xValue.ToString)
Next
TChart1.Axes.Bottom.Labels.Style = Steema.TeeChart.AxisLabelStyle.Text
|
1
|
Q.下軸に日付と時間をどのように表示すればいいですか? |
2007/03/07 |
A.下記のコードを参考にしてください。
C# :
private void
Form1_Load(object sender, System.EventArgs e) {
Steema.TeeChart.Styles.Line line1 = new Steema.TeeChart.Styles.Line(tChart1.Chart);
Random rnd = new Random();
DateTime start = DateTime.Now;
line1.XValues.DateTime = true;
for(int i = 0; i < 20; ++i) {
line1.Add(start, rnd.Next(100), "", Color.Red);
start = start.AddSeconds(30);
}
tChart1.Axes.Bottom.Labels.Angle = 90;
tChart1.Axes.Bottom.Labels.DateTimeFormat = "G";
tChart1.Axes.Bottom.Increment =
Steema.TeeChart.Utils.DateTimeStep[(int)Steema.TeeChart.DateTimeSteps.OneMinute];
}
VB :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim Line1 As New Steema.TeeChart.Styles.Line(TChart1.Chart)
Dim Rnd As New Random
Dim Start As DateTime = DateTime.Now
Dim I As Integer
Line1.XValues.DateTime = True
For I = 0 To 19
Line1.Add(Start, Rnd.Next(100), "", Color.Red)
Start = Start.AddSeconds(30)
Next
TChart1.Axes.Bottom.Labels.Angle = 90
TChart1.Axes.Bottom.Labels.DateTimeFormat = "G"
TChart1.Axes.Bottom.Increment = Steema.TeeChart.Utils.DateTimeStep(Steema.TeeChart.DateTimeSteps.OneMinute)
End Sub
DateTimeFormat文字列に関する詳細は下記を参照してください:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemglobalizationdatetimeformatinfoclasstopic.asp
|