Microsoft KB Archive/259933

= Use an MSChart control with Visual FoxPro =

Article ID: 259933

Article Last Modified on 2/12/2007

-

APPLIES TO


 * Microsoft Visual FoxPro 3.0 Standard Edition
 * Microsoft Visual FoxPro 3.0b Standard Edition
 * Microsoft Visual FoxPro 5.0 Standard Edition
 * Microsoft Visual FoxPro 5.0a
 * Microsoft Visual FoxPro 6.0 Professional Edition
 * Microsoft Visual FoxPro 7.0 Professional Edition
 * Microsoft Visual FoxPro 8.0 Professional Edition
 * Microsoft Visual FoxPro 9.0 Professional Edition

-



This article was previously published under Q259933



SUMMARY
This article demonstrates how to use an MSChart OCX control (MSCHRT20.OCX) to create a three-dimensional chart with eight columns and rows of data. This article also illustrates setting the legend parameters.



MORE INFORMATION
The MSChart control (MSCHRT20.OCX) supports the following features:
 * true three-dimensional representation
 * support for all major chart types
 * data grid population through random data and data arrays

The MSChart control is associated with a data grid, the DataGrid object. The DataGrid object is a table that holds the data being charted. The data grid may include labels used to identify series and categories on the chart. The data grid may be filled with information by inserting data or by importing data from a spreadsheet or array.   Create a program file named MyChart.prg by using the following code: PUBLIC chartdemo chartdemo=CREATEOBJECT('chartdemo') chartdemo.SHOW

DEFINE CLASS chartdemo AS FORM

TOP = 0 LEFT = 0 HEIGHT = 250 WIDTH = 360 DOCREATE = .T.  CAPTION = &quot;MSChart Control&quot; NAME = &quot;Form1&quot;

ADD OBJECT olecontrol1 AS OLECONTROL WITH ; TOP = 24, ; LEFT = 42, ; HEIGHT = 181, ; WIDTH = 277, ; VISIBLE = .F., ; NAME = &quot;Olecontrol1&quot;, ; OLECLASS=&quot;MSChart20Lib.MSChart.2&quot;

ADD OBJECT command1 AS COMMANDBUTTON WITH ; TOP = 216, ; LEFT = 24, ; HEIGHT = 24, ; WIDTH = 121, ; CAPTION = &quot;\<Show Chart&quot;, ; NAME = &quot;Command1&quot;

ADD OBJECT command2 AS COMMANDBUTTON WITH ; TOP = 216, ; LEFT = 216, ; HEIGHT = 24, ; WIDTH = 120, ; CAPTION = &quot;E\<xit&quot;, ; NAME = &quot;Command2&quot;

PROCEDURE command1.CLICK WITH THISFORM.olecontrol1 *!* Display a 3d chart with 8 columns and 8 rows of data. .ChartType = 0 && VtChChartType3dBar *!* Set the number of columns to 8 .COLUMNCOUNT = 8 *!* Set the number of rows to 8 .RowCount = 8

*!* Populate the DataGrid Object. FOR lnCol = 1 TO 8 FOR lnRow = 1 TO 8 .COLUMN = lnCol .ROW = lnRow .DATA = lnRow * 10 NEXT ROW NEXT COLUMN *!* Use the chart as the backdrop of the legend. .ShowLegend = .T.        *!* Select Chart Part 1 .SelectPart(1,1,1,1,1) && VtChPartTypePlot, index1, index2, index3, index4)        *!*    Copy the chart to the clipboard in Windows Metafile format.         .EditCopy         *!* Select Chart Part 1         .SelectPart(1,1,1,1,1) && VtChPartTypeLegend, index1, index2, index3, index4) *!* Paste the Windows Metafile graphic from the clipboard into the chart .EditPaste *!* Set the chart object visible .VISIBLE=.T.        *!* Refresh the chart object .REFRESH ENDWITH THISFORM.REFRESH ENDPROC

PROCEDURE command2.CLICK WITH THISFORM .RELEASE ENDWITH ENDPROC

ENDDEFINE  Save and run the .prg file. Click the command button with the caption Show Chart.

(c) Microsoft Corporation 2000, All Rights Reserved. Contributions by John Desch, Microsoft Corporation.

