PUBLIC chartdemo
chartdemo=CREATEOBJECT('chartdemo')
chartdemo.SHOW
DEFINE CLASS chartdemo AS FORM
TOP = 0
LEFT = 0
HEIGHT = 250
WIDTH = 360
DOCREATE = .T.
CAPTION = "MSChart Control"
NAME = "Form1"
ADD OBJECT olecontrol1 AS OLECONTROL WITH ;
TOP = 24, ;
LEFT = 42, ;
HEIGHT = 181, ;
WIDTH = 277, ;
VISIBLE = .F., ;
NAME = "Olecontrol1", ;
OLECLASS="MSChart20Lib.MSChart.2"
ADD OBJECT command1 AS COMMANDBUTTON WITH ;
TOP = 216, ;
LEFT = 24, ;
HEIGHT = 24, ;
WIDTH = 121, ;
CAPTION = "\<Show Chart", ;
NAME = "Command1"
ADD OBJECT command2 AS COMMANDBUTTON WITH ;
TOP = 216, ;
LEFT = 216, ;
HEIGHT = 24, ;
WIDTH = 120, ;
CAPTION = "E\<xit", ;
NAME = "Command2"
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