轉(zhuǎn)帖|使用教程|編輯:況魚(yú)杰|2019-11-01 11:52:06.563|閱讀 695 次
概述:本教程轉(zhuǎn)自屈景輝的Teechart應(yīng)用技術(shù)詳解——快速圖表制作工具一書(shū),本文將會(huì)介紹此書(shū)的第三章圖表與序列的操作維護(hù)的第四小節(jié):圖表的放大和滾動(dòng)作。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷售中 >>
相關(guān)鏈接:
Steema公司和慧都科技針對(duì)中國(guó)市場(chǎng)聯(lián)合推出中文版TeeChart for .NET圖表控件,一共漢化2000個(gè)詞條(17000個(gè)單詞),漢化文檔35000個(gè)單詞,包括控件設(shè)計(jì)時(shí)與運(yùn)行時(shí)的界面漢化以及控件使用向?qū)臋n的漢化,總漢化90%以上!
TeeChart for .NET中文版讓您在使用和學(xué)習(xí)上沒(méi)有任何語(yǔ)言障礙,至少可以節(jié)省30%的開(kāi)發(fā)時(shí)間。TeeChart for .NET中文版具有易上手,使用方便,穩(wěn)定性好,性價(jià)比高,價(jià)格優(yōu)惠等優(yōu)勢(shì),并且針對(duì)Web應(yīng)用提供無(wú)限制服務(wù)器分發(fā)授權(quán)方式,非常有利于產(chǎn)品集成。
點(diǎn)擊下載TeeChart for .NET最新試用版
圖表的放大和滾動(dòng)
圖表的放大和滾動(dòng)就是將坐標(biāo)設(shè)置為希望的刻度。當(dāng)滾動(dòng)和放大后,序列上的所有點(diǎn)將在新的位置重繪。注意:TPieSeries序列不支持放大與滾動(dòng)操作。
放大(Zoom)
圖表放大通常是由用戶與鼠標(biāo)拖拉交互實(shí)現(xiàn)的。圖表的Zoom類的Zoom屬性控制用戶是否通過(guò)鼠標(biāo)拖拽進(jìn)行放大,默認(rèn)狀態(tài)為true,即:
Chart1.Zoom. Allow: =True;
用戶可通過(guò)鼠標(biāo)拖拽確定一個(gè)矩形區(qū)域,以看到圖表的細(xì)節(jié)。拖拽方向與軸方向一致為放大,相反為恢復(fù)(不放大)。可以設(shè)定使用哪個(gè)鼠標(biāo)按鈕或哪個(gè)鍵按下拖拽矩形區(qū)域,默認(rèn)為鼠標(biāo)的左按鈕,也可以通過(guò)代碼修改拖拽的默認(rèn)鍵:
Chart1. Zoom. MouseButton: = mbMiddle;
一旦用戶釋放按鈕,圖表將在放大區(qū)域重新顯示。
動(dòng)畫(huà)放大( Animate Zoom)
所謂動(dòng)畫(huà)放大實(shí)際是將圖表放大過(guò)程按某種要求顯示出來(lái)。下列代碼激活動(dòng)畫(huà)放大:
Chart1. Zoom. Animated: =True;
設(shè)置 AnimatedZoom Steps屬性確定動(dòng)畫(huà)的中間幀數(shù):
Chart1. Zoom. AnimatedSteps: =7;
還可以使用全局變量 AnimatedZoom Factor放大因子確定如何線性動(dòng)畫(huà)。因子范圍從1到n:
AnimatedZoomFactor: =2.0
使用代碼進(jìn)行放大( Zoom By Code)
可以通過(guò)調(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;
這時(shí)將顯示所有序列的點(diǎn),取消以前使用鼠標(biāo)或代碼進(jìn)行的放大、縮小操作。
注意:如果需要在取消放大或縮小操作后按指定值設(shè)定坐標(biāo)刻度,可在圖表的 OnUndoZoom事件中進(jìn)行。根據(jù)圖表的四個(gè)坐標(biāo)軸是否自動(dòng)Zoomed屬性返回一個(gè)邏輯值,如:
If not Chart1. Zoomed then Chart1. ZoamPercent(150 ); //如果Chart1. Zoomed是 //False,則放大
放大事件( Zoom Events)
當(dāng)手動(dòng)或程序方式放大圖表時(shí)就觸發(fā) OnZoom事件:
procedure TForm1. Chart1Zoom(Sender: TObject); begin Button1.Visible:=True;//使不放大按鈕可見(jiàn), Button1.Caption:=‘不放大'; end;
當(dāng)由鼠標(biāo)或代碼取消放大時(shí)便觸發(fā)OnUndoZoom事件。
滾動(dòng)( Scrolling)
滾動(dòng)與放大很類似,當(dāng)坐標(biāo)刻度增加或減少時(shí)整個(gè)圖表被重新繪制,在新的位置顯示序列的點(diǎn)。圖表的AllowPanning屬性控制拖拽鼠標(biāo)使圖表滾動(dòng),它的取值范圍如下:
pmNoneNo:允許滾動(dòng)。
pmHorizontal:允許水平方向滾動(dòng)。
pmVertical:允許垂直方向滾動(dòng)。
pmBoth:允許垂直、水平方向滾動(dòng)。
例如:
Chart1. AllowPanning :=pmNone; //不允許滾動(dòng) 同放大一樣,下面的代碼設(shè)定使用鼠標(biāo)右鍵進(jìn)行滾動(dòng): Chart1. ScrollMouseButton := mbRight; //使用鼠標(biāo)右鍵按鈕滾動(dòng) TeeScrollKeyShift:[ ssCtrl ];//全局變量,按下Ctr1鍵開(kāi)始滾動(dòng)
也可使用代碼滾動(dòng)圖表
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軸的自動(dòng)屬性Automatic為 false。這時(shí),圖表重新繪制,而且水平軸滾動(dòng)到左邊刻度為1000的位置。
滾動(dòng)事件( Scroll Event)
圖表的OnScroll事件在用戶每次手動(dòng)滾動(dòng)圖表時(shí)觸發(fā)。例如:
procedure TForm1. Chart1Scroll(Sender: Tobject); begin Label1.Caption:=?個(gè)圖表被滾動(dòng)!'; end;
控制滾動(dòng)( Controlling Scroll)
OnAllowScroll事件可以被用來(lái)接受或拒絕圖表滾動(dòng)。例如:
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時(shí)拒絕滾動(dòng)。同理,對(duì)于時(shí)間軸也可采用下述方法進(jìn)行:
if Sender=Chart1.BottomAxis then if Amax>EncodeDate(2000,12,31)then AllowScroll:=False;
鍵盤(pán)滾動(dòng)(Keyboard Scrolling)
當(dāng)設(shè)置窗體的可以KeyPreview屬性為true,可以使用方向鍵滾動(dòng)。在Keydown事件中根據(jù)按下的鍵調(diào)用軸的Scroll方法進(jìn)行滾動(dòng)。
下一節(jié)我們將會(huì)介紹第三章圖表與序列的操作維護(hù):如何在圖表上自行繪制。如果有對(duì)Teechart圖表感興趣的朋友,可以多多關(guān)注本教程,并且歡迎在評(píng)論區(qū)留言。
相關(guān)資料推薦:
上一章:函數(shù)的操作
現(xiàn)TeeChart for .NET,TeeChart for JavaScript/HTML5,TeeChart for Xamarin.Android等均已加入在線訂購(gòu),現(xiàn)在搶購(gòu)可立享優(yōu)惠!
關(guān)注慧聚IT微信公眾號(hào)???,了解產(chǎn)品的最新動(dòng)態(tài)及最新資訊。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: