轉帖|其它|編輯:郝浩|2010-10-14 14:08:21.000|閱讀 2121 次
概述:本問主要對TeeChart的使用進行了總結,希望對大家有幫助。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
1、問題:
通過Addxy方法給TeeChart添加標記(Mark)時,發現在TeeChart的橫坐標會隨著Mark而變化,后來發現通過以下方法可避免這種情況:雙擊TeeChart,點擊Axis-> top or bottom ->labels,在styles中將labels的形式改為Value即可!
2、幾個有用的屬性:
圖表上的每個點都是有索引的,就象一個數組一樣,在OnClickSeries事件中有個ValueIndex屬性,該屬性可以得到鼠標所點擊的點的索引值(必須將Series的Point設置為可見,鼠標點擊到那個點時才可以觸發該事件)。
xValue[index]、yValue[index]分別表示圖表的索引為index的橫縱坐標值,用這兩個屬性可以讀取和設置索引為index的點的值,注意:不要用xValues和yValues,這兩個屬性也可以達到同樣的目的,但是速度非常的慢。因為后兩個在進行操作的時候可能要遍歷整個圖表上的值(個人觀點)
在MouseDown,MouseMove,Mouseup中,可以利用xScreentoValue(x),yScreentoValue(y)得到鼠標當時所在點對應在圖表上的橫縱坐標值。
e.g.
private
內容來自sql163
Nowindex:Integer;
Cantuo:boolean;
procedure TfrmMain.Chart1ClickSeries(Sender: TCustomChart;
Series: TeeChartSeries; ValueIndex: Integer; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
NowIndex:=ValueIndex;
end;
procedure TfrmMain.Chart1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Cantuo:=true;
end;
procedure TfrmMain.Chart1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Cantuo:=false;
end;
procedure TfrmMain.Chart1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if Cantuo then
begin
Series1.yValue[NowIndex]:= Series1.yScreenToValue(y) ;
end;
這里即實現了可以在圖表中拖動某一個點使其在縱軸上變化位置。
慧都2010促銷季開幕,TeeChart for .NET 8折促銷!詳情咨詢:400-700-1020或023-66090381活動詳情://fc6vip.cn/zh-CN/Products_cn/TeeChart_chinese.html
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:網絡轉載