• <menu id="w2i4a"></menu>
  • logo Teechart應(yīng)用技術(shù)詳解——快速圖表制作工具

    文檔首頁>>Teechart應(yīng)用技術(shù)詳解——快速圖表制作工具>>Teechart圖表應(yīng)用技術(shù)詳解—第三章之圖表的放大和滾動

    Teechart圖表應(yīng)用技術(shù)詳解—第三章之圖表的放大和滾動


        Steema公司和慧都科技針對中國市場聯(lián)合推出中文版TeeChart for .NET圖表控件,一共漢化2000個詞條(17000個單詞),漢化文檔35000個單詞,包括控件設(shè)計時與運行時的界面漢化以及控件使用向?qū)臋n的漢化,總漢化90%以上!

        TeeChart for .NET中文版讓您在使用和學(xué)習(xí)上沒有任何語言障礙,至少可以節(jié)省30%的開發(fā)時間。TeeChart for .NET中文版具有易上手,使用方便,穩(wěn)定性好,性價比高,價格優(yōu)惠等優(yōu)勢,并且針對Web應(yīng)用提供無限制服務(wù)器分發(fā)授權(quán)方式,非常有利于產(chǎn)品集成。

    點擊下載TeeChart for .NET最新試用版    


    圖表的放大和滾動

        圖表的放大和滾動就是將坐標(biāo)設(shè)置為希望的刻度。當(dāng)滾動和放大后,序列上的所有點將在新的位置重繪。注意:TPieSeries序列不支持放大與滾動操作。

    放大(Zoom)

        圖表放大通常是由用戶與鼠標(biāo)拖拉交互實現(xiàn)的。圖表的Zoom類的Zoom屬性控制用戶是否通過鼠標(biāo)拖拽進(jìn)行放大,默認(rèn)狀態(tài)為true,即:

    Chart1.Zoom. Allow: =True;

        用戶可通過鼠標(biāo)拖拽確定一個矩形區(qū)域,以看到圖表的細(xì)節(jié)。拖拽方向與軸方向一致為放大,相反為恢復(fù)(不放大)??梢栽O(shè)定使用哪個鼠標(biāo)按鈕或哪個鍵按下拖拽矩形區(qū)域,默認(rèn)為鼠標(biāo)的左按鈕,也可以通過代碼修改拖拽的默認(rèn)鍵:

    Chart1. Zoom. MouseButton: = mbMiddle;

        一旦用戶釋放按鈕,圖表將在放大區(qū)域重新顯示。

    動畫放大( Animate Zoom)

        所謂動畫放大實際是將圖表放大過程按某種要求顯示出來。下列代碼激活動畫放大:

    Chart1. Zoom. Animated: =True;

        設(shè)置 AnimatedZoom Steps屬性確定動畫的中間幀數(shù):

    Chart1. Zoom. AnimatedSteps: =7;

        還可以使用全局變量 AnimatedZoom Factor放大因子確定如何線性動畫。因子范圍從1到n:

    AnimatedZoomFactor: =2.0

    使用代碼進(jìn)行放大( Zoom By Code)

        可以通過調(diào)用圖表方法進(jìn)行圖表的放大與縮小。ZoomRect調(diào)節(jié)顯示矩形區(qū)域TRect坐標(biāo)刻度,矩形區(qū)域由屏幕的像素坐標(biāo)表示。矩形區(qū)域在Chart.ChartRect之內(nèi)將執(zhí)行放大操作,否則執(zhí)行縮小操作。

    Chart1. ZoomRect(Rect(100, 100, 200, 200));

        ZoomPercent設(shè)定圖表放大比例,例如設(shè)放大比例為110%:

    Chart1. ZoomPercent(110);

    取消放大:

    Chart1. ZoomPercent(100);

    恢復(fù)顯示( Undoing Zoom)

        Undozoom方法技序列的最大值和最小值重新設(shè)置坐標(biāo)刻度,即:

    Chart1. UndoZoom;

        這時將顯示所有序列的點,取消以前使用鼠標(biāo)或代碼進(jìn)行的放大、縮小操作。

    注意:如果需要在取消放大或縮小操作后按指定值設(shè)定坐標(biāo)刻度,可在圖表的 OnUndoZoom事件中進(jìn)行。根據(jù)圖表的四個坐標(biāo)軸是否自動Zoomed屬性返回一個邏輯值,如:

    If not Chart1. Zoomed then Chart1. ZoamPercent(150 ); //如果Chart1. Zoomed是
                                       //False,則放大

    放大事件( Zoom Events)

        當(dāng)手動或程序方式放大圖表時就觸發(fā) OnZoom事件:

    procedure TForm1. Chart1Zoom(Sender: TObject);
    begin
    Button1.Visible:=True;//使不放大按鈕可見, Button1.Caption:=‘不放大';
    end;

        當(dāng)由鼠標(biāo)或代碼取消放大時便觸發(fā)OnUndoZoom事件。

    滾動( Scrolling)

        滾動與放大很類似,當(dāng)坐標(biāo)刻度增加或減少時整個圖表被重新繪制,在新的位置顯示序列的點。圖表的AllowPanning屬性控制拖拽鼠標(biāo)使圖表滾動,它的取值范圍如下:

    • pmNoneNo:允許滾動。

    • pmHorizontal:允許水平方向滾動。

    • pmVertical:允許垂直方向滾動。

    • pmBoth:允許垂直、水平方向滾動。

    例如:

    Chart1. AllowPanning :=pmNone;  //不允許滾動
    同放大一樣,下面的代碼設(shè)定使用鼠標(biāo)右鍵進(jìn)行滾動:
    Chart1. ScrollMouseButton := mbRight;  //使用鼠標(biāo)右鍵按鈕滾動
    TeeScrollKeyShift:[ ssCtrl ];//全局變量,按下Ctr1鍵開始滾動

        也可使用代碼滾動圖表

    Procedure Scroll(Const Offset: Double; CheckLimits: Boolean);

    例如:

    Chart1. BottomAxis Scroll( 1000, True );

        上述代碼使BottomAxis刻度按1000增加,與下列代碼是等效的:

    with Chart1. BottomAxis do SetMinMax(Minimum + 1000, Maximum+1000);

        并且設(shè)置BottomAxis軸的自動屬性Automatic為 false。這時,圖表重新繪制,而且水平軸滾動到左邊刻度為1000的位置。

    滾動事件( Scroll Event)

        圖表的OnScroll事件在用戶每次手動滾動圖表時觸發(fā)。例如:

    procedure TForm1. Chart1Scroll(Sender: Tobject);
    begin
              Label1.Caption:=?個圖表被滾動!';
    end;

    控制滾動( Controlling Scroll)

        OnAllowScroll事件可以被用來接受或拒絕圖表滾動。例如:

    procedure TForm1. Chart1AllowScroll(Sender: TChartAxis; var AMin,
           AMax: Double; var AllowScroll: Boolean);
    begin
    if Sender= Chart1. BottomAxis then
    if AMax >1000 then AllowScroll : =False;
    end;

        以上代碼是當(dāng)用戶設(shè)定BottomAxis軸的最大值大于1000時拒絕滾動。同理,對于時間軸也可采用下述方法進(jìn)行:

    if Sender=Chart1.BottomAxis then
    if Amax>EncodeDate(2000,12,31)then AllowScroll:=False;

    鍵盤滾動(Keyboard Scrolling)

        當(dāng)設(shè)置窗體的可以KeyPreview屬性為true,可以使用方向鍵滾動。在Keydown事件中根據(jù)按下的鍵調(diào)用軸的Scroll方法進(jìn)行滾動。

        下一節(jié)我們將會介紹第三章圖表與序列的操作維護(hù):如何在圖表上自行繪制。如果有對Teechart圖表感興趣的朋友,可以多多關(guān)注本教程,并且歡迎在評論區(qū)留言。

    相關(guān)資料推薦:

    上一章:函數(shù)的操作

    Teechart 2019資源合集


        現(xiàn)TeeChart for .NET,TeeChart for JavaScript/HTML5TeeChart for Xamarin.Android等均已加入在線訂購,現(xiàn)在搶購可立享優(yōu)惠!

        關(guān)注慧聚IT微信公眾號???,了解產(chǎn)品的最新動態(tài)及最新資訊。

    dd2629f30d553d56ccaf7164fdcb784e-sz_28327.webp.jpg


    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();