Passing an Array of Values to the Visual C++ MSChart OCX

CodeGuru content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

Step 1 : Creating the Project

Start Visual C++ en create a simple dialog based application labelled “Graph”

Step 2 : Add the MSChart OCX to Your Project

Select “project menu” option and select “Components and contols” and then choose the MSChart component en click “add”

Step 3 : Add the MSChart OCX to Your Dialog

Select resources view tab en open the main dialog (Its a simple dialog based application). Drop the ocx on your dialog.

Now, label your Chart “IDC_MSCAHRT1”

Now, choose menu option “Classwizard” to create a member variable of your chart labelled “m_Chart”

Step 4: Add the Code

Now add a bouton labeled “Go” to your dialog. Double click it to edit the code and add the
following code in the On_Go function:

COleSafeArray saRet;

DWORD numElements[] = {10, 10}; // 10x10

// Create the safe-array...

saRet.Create(VT_R8, 2, numElements);

// Initialize it with values...

long index[2];

for(index[0]=0; index[0]<10; index[0]++) {
 for(index[1]=0; index[1]<10; index[1]++) {
  double val = index[0] + index[1]*10;
  saRet.PutElement(index, &val);
 }
}

// Return the safe-array encapsulated in a VARIANT...

m_Chart.SetChartData(saRet.Detach());

m_Chart.Refresh;

Step 5: Building and Running the Application

Build and execute your app, then click the “Go” button. Here is the result:

More by Author

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Must Read