国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

TChart使用經驗小結

2019-11-18 17:59:16
字體:
來源:轉載
供稿:網友

1、問題:通過Addxy方法給TChart添加標記(Mark)時,發現在TChart的橫坐標會隨著Mark而變化,后來發現通過以下方法可避免這種情況:雙擊TChart,點擊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
  Nowindex:Integer;
  Cantuo:boolean;

........

procedure TfrmMain.Chart1ClickSeries(Sender: TCustomChart;
  Series: TChartSeries; 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;
end;

這里即實現了可以在圖表中拖動某一個點使其在縱軸上變化位置



上一篇:使用break與continue語句和for與continue語句

下一篇:序列化FastReport

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 富平县| 教育| 长沙县| 赤壁市| 调兵山市| 上蔡县| 商洛市| 定日县| 彭州市| 乐陵市| 白城市| 五寨县| 黄大仙区| 化州市| 观塘区| 岳阳县| 伊川县| 三都| 泰顺县| 通海县| 黄骅市| 右玉县| 宜兴市| 红安县| 海口市| 腾冲县| 邹平县| 阿尔山市| 公主岭市| 营口市| 泽库县| 连州市| 石林| 益阳市| 陇南市| 沾化县| 增城市| 申扎县| 麦盖提县| 台湾省| 资中县|