原創(chuàng)|使用教程|編輯:郝浩|2013-04-27 15:36:54.000|閱讀 620 次
概述:慧都小編匯總了開發(fā)人員在使用 ProEssentials圖表時(shí)所遇到的一些問(wèn)題,希望能為其他使用者提供一點(diǎn)借鑒
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
ProEssentials是 Gigasoft 開發(fā)的一個(gè)功能十分強(qiáng)大的工業(yè)實(shí)時(shí)繪圖控件,幾乎每一個(gè)使用過(guò)ProEssentials的人都認(rèn)為這是他們所用過(guò)的功能最強(qiáng)的圖表控件。它可以運(yùn)用到金融、科學(xué)、工程、商業(yè)等行業(yè)的實(shí)時(shí)曲線繪制中。下面慧都小編匯總了開發(fā)人員在使用 ProEssentials 時(shí)所遇到的一些問(wèn)題,希望能為其他使用者提供一點(diǎn)借鑒:
問(wèn)題一:如何用ProEssentials v6參考線來(lái)標(biāo)記坐標(biāo)數(shù)據(jù)點(diǎn)
解答:請(qǐng)參考VC示例中105號(hào)例子,將其中的CreateDataCursor()函數(shù)中的
PEnset(m_hPE, PEP_nCURSORMODE, PEM_DATACROSS);
改為:
PEnset(m_hPE, PEP_nCURSORMODE, PECM_FLOATINGXY);
就可以實(shí)現(xiàn)您要的效果。
問(wèn)題二:鼠標(biāo)移動(dòng)時(shí)如何獲取ProEssentials圖表當(dāng)前點(diǎn)Y軸值
解答:實(shí)際上通過(guò)鼠標(biāo)我們能獲取到的是一個(gè)double類型的值,并且我們?nèi)〉降耐ǔ2豢赡苁呛蛿?shù)據(jù)點(diǎn)完全吻合的值。那么實(shí)際上您要取的值我建議您采用取近似值的辦法來(lái)獲取,也就是說(shuō)取到當(dāng)前點(diǎn)的X,Y坐標(biāo),并與我們?cè)O(shè)置的標(biāo)記點(diǎn)或者數(shù)據(jù)點(diǎn)進(jìn)行比較,這樣來(lái)得到我們所設(shè)置的數(shù)據(jù)點(diǎn)。
問(wèn)題三:ProEssentials圖表控件無(wú)法響應(yīng)滑鼠的動(dòng)作進(jìn)行放大或者縮小
解答:在這里呢要提示您一下,該控件的縮放功能并不是您所想的是鼠標(biāo)中鍵滾動(dòng)實(shí)現(xiàn)縮放,而是中鍵或者左鍵按下后拖動(dòng)實(shí)現(xiàn)。以您所選擇的區(qū)域?yàn)橹行倪M(jìn)行縮放。
也就是說(shuō)中鍵滾動(dòng)不會(huì)出現(xiàn)效果,而是按下后拖動(dòng)。請(qǐng)您注意一下,如果您是按我所說(shuō)的方式理解的,那么是可以實(shí)現(xiàn)的。
問(wèn)題四:如何在ProEssentials中用映射的方式顯示圖片
用asp.net c#開發(fā)的時(shí)候,使用ProEssentials控件的方式是這樣的,先在default1.aspx里拖拽一個(gè)控件,然后在default2.aspx里拖拽一個(gè),其中defautl.aspx實(shí)際上是一個(gè)圖片,default1連接default2,是程序可以運(yùn)行,但是當(dāng)default1上需要拖拽很多個(gè)同樣的控件的時(shí)候,要用多個(gè)default2.aspx還對(duì)應(yīng)嗎,這樣就會(huì)產(chǎn)生很多個(gè)類似的default2.aspx.
解答:如果您要想用映射的方式來(lái)顯示圖片您其實(shí)可以在Default2.aspx中使用多個(gè)控件,統(tǒng)一映射到Default1.aspx中就可以了,無(wú)論如何進(jìn)行拖拽都不會(huì)出現(xiàn)多個(gè)頁(yè)面.也不需要多個(gè)頁(yè)面來(lái)承載控件,這是沒有必要的.
問(wèn)題五:如何將ProEssentials的柱狀圖變成線狀圖
解答:您要將柱狀圖改為線性圖只需要將pego1.PePlot.Method = GraphPlottingMethod.Bar改為pego1.PePlot.Method = GraphPlottingMethod.Line就可以實(shí)現(xiàn).
要使用水平平行線方式的網(wǎng)格線的話您需要將pego1.PeGrid.LineControl = GridLineControl.Both;改為Pego1.PeGrid.LineControl = GridLineControl.YAxis;就可以實(shí)現(xiàn)您要的效果
請(qǐng)注意:在修改了狀態(tài)之后請(qǐng)重新繪制控件,請(qǐng)使用pego1.Refresh();
問(wèn)題六:用ProEssentials創(chuàng)建多個(gè)坐標(biāo)窗口時(shí),如何控制窗口比例大小
解答:ProEssentials控件內(nèi)部自設(shè)置平分圖表區(qū)域,目前尚無(wú)法控制每個(gè)區(qū)域大小,只能以平分方式來(lái)確定。
問(wèn)題七:ProEssentials整個(gè)X軸能否顯示成24小時(shí)的
解答:請(qǐng)您根據(jù)以下代碼來(lái)設(shè)置您的控件:
DateTime dt = new DateTime(2009, 5, 18, 0, 0, 0);//設(shè)置開始日期為2009年5月18日0點(diǎn)整
DateTime dte = new DateTime(2009, 5, 18, 23, 59,59);//設(shè)置時(shí)間為2009年5月18日23點(diǎn)59分59秒
Pesgo1.PeGrid.Configure.ManualMinX = dt.ToOADate();;
Pesgo1.PeGrid.Configure.ManualMaxX = dte.ToOADate();
這樣就可以設(shè)置為一天24小時(shí)。
問(wèn)題八:怎么把date一列賦給ProEssentials的X軸,后面的任意一列賦值給Y軸
Y軸從0到10,X軸從0到96,其中X軸分24個(gè)大刻度,每個(gè)又分四個(gè)小刻度,現(xiàn)在已經(jīng)分完了,問(wèn)題1:顯示的時(shí)候向外面不顯示刻度線,在坐標(biāo)軸里面顯示刻度線;問(wèn)題2:X軸刻度那不向顯示原來(lái)的1到24了,想顯示比如00:15-00:30,就是時(shí)間段,至少大刻度能顯示。
解答:首先您要使用pesgoWeb.PeData.DateTimeMode = true;這個(gè)設(shè)置,X軸設(shè)置為時(shí)間顯示的方式.那么時(shí)間里就是標(biāo)準(zhǔn)的時(shí)間格式如:00:12等.
double ZoomSmallInterval = (1.0 / 1440.0); //設(shè)置時(shí)間跨度的大小,1440是一天的分鐘數(shù)
double StartTime = DateTime.Now.ToOADate();//時(shí)間需要轉(zhuǎn)換到double類型
pesgo1.PeGrid.Configure.ManualScaleControlX = ManualScaleControl.MinMax;
pesgo1.PeGrid.Configure.ManualMinX = StartTime;
pesgo1.PeGrid.Configure.ManualMaxX = pesgo1.PeGrid.Configure.ManualMinX + ZoomInterval;
目前時(shí)間刻度無(wú)法設(shè)置刻度的大小,它會(huì)自動(dòng)的進(jìn)行分段,當(dāng)然就更無(wú)法設(shè)置小刻度了。
問(wèn)題九:如何控制ProEssentials坐標(biāo)軸的每個(gè)刻度之間的距離
就是如果X軸是一厘米一個(gè)刻度的話,Y軸想0.5厘米一個(gè)刻度
解答:關(guān)于刻度的長(zhǎng)度尺寸是無(wú)法控制的,通常情況下我們是以最大值和最小值來(lái)設(shè)置的,中間設(shè)置步長(zhǎng)也就是跨度,但是具體長(zhǎng)度就沒辦法控制了,因?yàn)檫@個(gè)與顯示大小以及控件內(nèi)部的大小都是有關(guān)系的.
要使用最大值最小值來(lái)控制軸上能顯示的區(qū)域請(qǐng)使用以下代碼
Pesgo1.PeGrid.Configure.ManualScaleControlY = ManualScaleControl.MinMax;
Pesgo1.PeGrid.Configure.ManualMinY = 0;
Pesgo1.PeGrid.Configure.ManualMaxY = 1000;
通過(guò)這個(gè)設(shè)置就可以正確的設(shè)置它顯示的最大值最小值.步長(zhǎng)則是自動(dòng)設(shè)定的。
問(wèn)題十:用Proessentials繪制水平曲線的問(wèn)題
主要是Y軸從1到10,X軸共96個(gè)刻度,只有一條曲線就可以,并且只要水平線,不要垂直線。
解答:如果您要使用簡(jiǎn)單圖,那么無(wú)法實(shí)現(xiàn)這樣的X軸,但是如果您要用科學(xué)圖就可以實(shí)現(xiàn)這樣的X軸。具體方法如下:
Pesgo1.PeGrid.Configure.ManualXAxisTicknLine = true;//必須要設(shè)置的語(yǔ)句
Pesgo1.PeGrid.Configure.ManualXAxisTick = 50;//設(shè)置X軸步長(zhǎng)單位垮度
Pesgo1.PeGrid.Configure.ManualXAxisLine = 1;//設(shè)置線條的寬度
而Y軸的設(shè)置上非常簡(jiǎn)單。具體方法如下:
Pesgo1.PeGrid.Configure.ManualScaleControlY = ManualScaleControl.MinMax;//設(shè)置Y軸最大最小值為自定義
Pesgo1.PeGrid.Configure.ManualMaxY = 10;//設(shè)置Y軸上限
Pesgo1.PeGrid.Configure.ManualMinY = 0;//設(shè)置Y軸下限
您要設(shè)置Y軸的刻度步長(zhǎng)與X軸的方法是相同的,只是參數(shù)名稱有些不同:
Pesgo1.PeGrid.Configure.ManualYAxisTicknLine = true;//必須要設(shè)置的語(yǔ)句
Pesgo1.PeGrid.Configure.ManualYAxisTick = 50;//設(shè)置X軸步長(zhǎng)單位垮度
Pesgo1.PeGrid.Configure.ManualYAxisLine = 1;//設(shè)置線條的寬度
例如您想設(shè)置96個(gè)X刻度,那么您需要做的就是將 整個(gè)軸的長(zhǎng)度值/96 這個(gè)double值賦予ManualXAxisTick屬性就可以。
* ProEssentials下載地址
* ProEssentials使用文檔
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都控件