How To Print the Contents of the MS Chart Control (168749)



The information in this article applies to:

  • Microsoft Visual Basic Learning Edition for Windows 5.0
  • Microsoft Visual Basic Learning Edition for Windows 6.0
  • Microsoft Visual Basic Professional Edition for Windows 5.0
  • Microsoft Visual Basic Professional Edition for Windows 6.0
  • Microsoft Visual Basic Enterprise Edition for Windows 5.0
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0

This article was previously published under Q168749

SUMMARY

The MSChart control does not expose a method that enables you to print the chart directly. However, you can use the PrintForm method to print the entire form containing the MSChart control. This article describes a method for printing only the chart.

MORE INFORMATION

You can print the chart of an MSChart control by copying the contents of the control using the EditCopy method, retrieveing the chart from the Clipboard, and then printing the picture via the PaintPicture method of the Printer object:
  1. Start a new Standard EXE project. Form1 is created by default.
  2. Click Components on the Project menu. Check "Microsoft Chart Control" and click OK.
  3. Draw an MSChart control and a CommandButton on Form1.
  4. Add the following code to the Click event of Command1 on Form1:
          MSChart1.EditCopy
          DoEvents   ' may be needed for large datasets
          Printer.Print " "
          Picture1.PaintPicture Clipboard.GetData(), 0, 0
          Printer.EndDoc
    
    						
  5. Run the application. Click the CommandButton to print the chart to your default printer.

    NOTE: The EditCopy method copies both the data and the picture of the chart to the clipboard. Then, when you use a Paste command to retrieve the contents of the clipboard, the receiving application determines whether the picture or the data is pasted. In this example, PaintPicture requests the clipboard data and receives a picture of the chart rather than the chart's data. You could also specify this with Clipboard.GetData(vbCFBitmap).

Modification Type:MinorLast Reviewed:7/1/2004
Keywords:kbCtrl kbhowto kbprint kbprint KB168749