屬性
(1)ActiveSeriesCount屬性數值型。根據DataGrid對象中的列數和繪製的圖表類型返回圖表中顯示的系列數。
(2)AllowDynamicRotation屬性返回或設定一個數值,它指示是否在:按下Ctrl鍵顯示旋轉游標之後就可互動式地旋轉三維圖表。屬性值為邏輯型,預設為.T.,可以使用游標互動式旋轉圖表。
(3)AllowSelections屬性返回或設定一個數值,它指示是否可以選擇圖表對象。屬性值為邏輯型,預設為.T.,可以互動式地選擇圖表對象。
(4)AllowSeriesSelection屬性返回或設定一個數值,它指出在單擊單個的圖表數據點時是否可選定整個系列。屬性值為邏輯型,預設為.T.,可以單擊數據點選定整個系列。
(5)AutoIncrement屬性返回或設定一個數值,它決定在輸入數據期間,那些設定當前數據點的屬性值是否能不用人工設定 Column和Row屬性而自動遞增。屬性值為邏輯型,為.T.時, Data屬性改變後,Row屬性自動更新為列中的下一行。如果處於一列的末端,則Column屬性遞增到下一列。預設為.F.。
(6)Backdrop屬性返回對Backdrop對象的引用,它描述在圖表或圖表元素後面的陰影、圖案或圖片。
(7)Chart3d屬性返回一個數值,此數值指定圖表是否為三維圖表。屬性值為邏輯型,預設為.F.,不是三維圖表。
(8)ChartData屬性返回或設定一個
數組,該數組包含將要被該圖表顯示的值。注意:在Visual FoxPro中建立的數組該屬性不能識別,該屬性在Visual Basic中可用。
(9)ChartType屬性
返回或設定用於顯示圖表的圖表類型。屬性值為數值型,如表所示。
表 ChartType屬性值
屬性值 | 說明 |
0-3d Bar | 3D條形圖 |
1-2d Bar | 2D條形圖 |
2-3d Line | 3D折線圖 |
3-2d Line | 2D折線圖 |
4-3d Area | 3D面積圖 |
5-2d Area | 2D面積圖 |
6-3d Step | 3D階梯圖 |
7-2d Step | 2D階梯圖 |
8-3d Combination | 3D組合圖 |
9-2d Combination | 2D組合圖 |
14-2d Pie | 2D餅圖 |
16-2d XY | 2D XY散點圖 |
(10)Column屬性數值型。返回或設定數據
格線中當前的數據列。
(11)ColumnCount屬性數值型。返回或設定與圖表關聯的當前數據格線中的列數。
(12)ColumnLabel 屬性文本型。返回或設定與圖表數據格線中的列關聯的標籤文本。
(13)ColumnLabelCount屬性數值型。返回或設定與圖表關聯的數據格線中的列的標籤級別數。
(14)ColumnLabelIndex屬性數值型。返回或設定與圖表關聯的特定列標籤的級別。
(15)Data屬性數值型。返回或設定被插入圖表數據
格線中的當前數據點的數值,可以將此屬性指向數據表的一個數值型欄位。如:
Thisform.OLecontrol1.ColumnCount=2 &&圖表控制項包含兩列
Thisform.Olecontrol1.Column=1 &&指向第1列
Thisform.Olecontrol1.Data=tblData.field1 &&設定數據為tblData表的field1欄位
Thisform.Olecontrol1.Column=2 &&指向第2列
Thisform.Olecontrol1.Data=tblData.field2 &&設定數據為tblData表的field2欄位
(16)DataGrid屬性返回DataGrid對象的引用,它描述與圖表關聯的數據
格線。
(17)DataSource屬性返回或設定一個
數據源,通過該數據源將該控制項綁定到一個資料庫。此屬性的使用參考後面的“綁定ADO數據源”
(18)Footnote屬性返回對Footnote對象的引用,它提供關於注釋圖表所用的描述性文字信息。
(19)FootnoteText屬性文本型。返回或設定用作腳註的文本。
(20)Legend屬性返回對Legend對象的引用,它包含有關小圖示的外觀及其描述圖表系列的伴隨文字的信息。
(21)Plot屬性返回對Plot對象的引用,該對象描述圖表的繪製區域。
(22)Repaint屬性返回或設定值,該值決定圖表被改變後是否重繪MSChart控制項。屬性值為邏輯型,預設為.T.,刷新控制項。
(23)Row屬性數值型。返回或設定與圖表關聯的數據
格線中當前列的指定行。
(24)RowCount屬性數值型。返回或設定與圖表關聯的數據格線列的行數。
(25)RowLabelCount屬性返回或設定與圖表關聯的數據格線行標籤的級別數。
(26)RowLabelIndex屬性數值型。返回或設定描述行標籤級別的值。
(27)SeriesColumn屬性數值型。返回或設定當前系列數據列位置。
(28)SeriesType屬性數值型。返回或設定用於顯示當前系列的類型,屬性值參考表4-25。
(29)ShowLegend屬性邏輯型。返回或設定一個決定圖表的圖例是否可見的值,
預設值為.F.。
(30)TextLengthType屬性數值型。返回或設定一個值,該值指定文本的顯示方式如何最佳化文本在螢幕或印表機上的輸出效果。屬性值如表4-26所示。
表4-26 TextLengthType屬性值
屬性值 | 說明 |
0-VtTextLengthTypeVirtual | 使用TrueType虛擬字型的尺寸來最佳化印表機上的文本輸出效果。TrueType虛擬字型的尺寸對於顯示在螢幕上的文本還不是十分精確。在螢幕上顯示的文本的大小可能與該虛擬尺寸的大小不一樣。在指定的位置可能會放不下比該尺寸大的文本,可能會出現半邊字元,整個字元,甚至一個單詞丟失的現象 |
1-VtTextLengthTypeDevice | 選擇該常量來為螢幕的文本輸出效果進行最佳化。圖表中的文本在螢幕上的位置將總是恰好位於該圖表區。列印時文本一般會小一點,因此列印文本的位置與螢幕上的位置有時會有細微的差別 |
(31)Title屬性對Title對象的引用,該對象描述圖表的標題文本。
(32)TitleText屬性返回或設定作為圖表標題而顯示的文本。
Plot
Plot對象表示圖表顯示的區域。該對象允許編程以下對象:
(1)Axis對象
代表圖表的x 、y和z軸。z 軸僅在立體圖表中是可見的。
(2)BackDrop對象
軸後面的區域。
(3)Light對象
圖的環境和邊緣光。
(4)LocationRect對象
圖的位置。
(5)SeriesCollection對象
序列的集合。
(6)View3D對象
立體圖像的正視圖和旋轉圖。
(7)Wall對象
圖後面的區域。
方法
(1)EditCopy方法以Windows點陣圖檔案格式將當前圖表的圖片複製到剪貼簿中。它同時將創建圖表使用的數據複製到剪貼簿中。
使用此方法,可將圖表數據或圖表圖片本身貼上到另一個應用程式中。因為數據和圖表圖片都存儲在剪貼簿上,因此貼上到新的應用程式中的內容取決於該應用程式的類型。例如,如果在代碼中執行圖表的 EditCopy方法,然後切換到Excel
工作表來選擇“編輯”中的“貼上”命令,則將把圖表數據集複製到工作表中。如要將圖表圖片插入到工作表中,可在選定“編輯貼上特殊”後選擇“圖片”類型。下列代碼將當前的圖表複製到Excel的表
工作簿中。
Thisform.Olecontrol1.EditCopy && Olecontrol1為MSChart控制項
oXLS=CREATEOBJECT("Excel.Application")
oXLS.Visible= .T.
oXLS.SheetsInNewWorkbook=1 &&建立一個空
工作表oXLS.Workbooks.Add &&添加一個表
工作簿oXLS.Worksheets("Sheet1").PasteSpecial &&選擇性貼上
由於在Excel中可以直接支持圖形工作簿,所以可以使用下列代碼直接貼上到
Excel圖表中。
Thisform.Olecontrol1.EditCopy
oXLS=CREATEOBJECT("Excel.Application")
oXLS.Visible=.T.
oXlS.SheetsInNewWorkbook=1 &&建立一個空工作表
oXLS.Workbooks.Add(2) &&添加一個圖形
工作簿oXLS.Charts("Chart1").Paste
(2)EditPaste方法將剪貼簿中的Windows
點陣圖檔案圖形或由tab鍵分隔的文本貼上到圖表的當前選定區域。
圖表可接受剪貼簿中的幾種類型的信息,這取決於調用EditPaste時選定的圖表元素。如果選定了整個圖表,則圖表在剪貼簿中尋找數據並試圖使用這些新數據重新繪製圖表。如果選定能夠接受圖片的項目,例如選定了條形圖或圖表背景,則圖表在剪貼簿上尋找
圖元檔案。如果找到了圖元檔案,就使用該圖元檔案填充選定對象。
事件
圖表控制項的事件非常多,但是大部分都是按照對圖表進行編程設計的,於實際工作的需求並不相適應。在這裡我們僅介紹PointSelected事件。
在單擊數據點時發生PointSelected事件。所謂數據點,如圖4-45中的每個柱形都是一個數據點。該事件可以接收4個參數值,如下所示:
PROCEDURE PointSelected
LPARAMETERS series, datapoint, mouseflags, cancel
ENDPROC
參數說明如表4-27所示。
表4-27 PointSelected事件參數說明
參數 | 說明 |
series | 數值型。標識包含該數據點的系列。根據數據格線中列的顯示順序給系列編號,編號從1開始。如在圖4-45中一季度柱形的series值為1,依次類推,四季度柱形的series值為4,相對於資料庫而言,該數值為表中欄位的排列順序 |
dataPoint | 數值型。標識系列中的數據點。根據數據格線中行的顯示順序給數據點編號,編號從1開始。如在表4-45中所有2001年的dataPoint值為1,2002年的dataPoint值為2,相對於資料庫而言,該數值為表中的記錄號 |
mouseFlags | 數值型。指示單擊滑鼠按鈕時,是否有鍵處於按下狀態。滑鼠左鍵為1,右鍵為2 |
cancel | 數值型。目前沒有使用這個參數 |
安裝
MSChart的安裝
微軟發布的這款控制項是需要單獨安裝的,而且只能用於.Net 3.5以上。VS2005、VS2008自身並沒有帶這款控制項,包括VS2008的SP1補丁都沒有,不過VS2010已經自帶了這款控制項。另外需要注意VS2005是不能使用這款控制項的。
下面下幾個安裝包:
1.MSChart控制項
這個安裝包是一定要安裝的,安裝後才能在系統中使用,不論你是開發還是部署。 如果你部署的系統在伺服器上提示找不到Assembly,那請安裝這個。
2.MSChart控制項語言包
這個控制項中有不少資源是需要中文化的,建議開發環境和線上環境都安裝。
3.VS2008的外掛程式
這個是用於VS2008的外掛程式,安裝後就能在VS2008中出現MSChart控制項。
4.MSChart的開發文檔
一份對控制項中使用的類的詳細說明文檔
5.代碼實例:Samples Environment for Microsoft Chart Controls
有兩份,一份是給.Net 3.5的,一份是.Net 4.0的。
部署要求
線上環境(生產環境)
請安裝1,2即可。
開發環境
至少安裝1,2,3。