Use an MSChart control with Visual FoxPro (259933)



The information in this article applies to:

  • Microsoft Visual FoxPro for Windows 3.0
  • Microsoft Visual FoxPro for Windows 3.0b
  • Microsoft Visual FoxPro for Windows 5.0
  • Microsoft Visual FoxPro for Windows 5.0a
  • Microsoft Visual FoxPro for Windows 6.0
  • Microsoft Visual FoxPro for Windows 7.0
  • Microsoft Visual FoxPro 8.0
  • 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.
  1. 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 = "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
    
    ENDDEFINE
    					
  2. Save and run the .prg file.
  3. Click the command button with the caption Show Chart.
(c) Microsoft Corporation 2000, All Rights Reserved. Contributions by John Desch, Microsoft Corporation.

REFERENCES

For more information regarding ActiveX Controls supported with Microsoft Visual FoxPro 6.0, click the following article number to view the article in the Microsoft Knowledge Base:

191222 INFO: ActiveX Controls supported by Visual FoxPro 6.0



Modification Type:MinorLast Reviewed:9/22/2006
Keywords:kbCtrl kbhowto KB259933