PDA

Click to See Complete Forum and Search --> : MsChart Error :(


Geoff Gunson
Nov 15th, 1999, 08:33 PM
Hi

I am printing a graph that I produced on a form using the code:

Me.PrintForm

The code attempts to print the graph then I get a MsChart error : "VtDsGdi2 ReleaseDc called with null hDc".

Does anyone know whats causing this?

Cheers

Geoff

Aaron Young
Nov 16th, 1999, 11:59 AM
Try this as an alternative method for Printing your Chart(s)..

Add a Picturebox to your Form and set it's Visible Property to False..

Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long

Private Const SRCCOPY = &HCC0020

Private Sub Command1_Click()
Dim lDC As Long
Dim W As Integer
Dim H As Integer
W = ScaleX(MSChart1.Width, vbTwips, vbPixels)
H = ScaleY(MSChart1.Height, vbTwips, vbPixels)
lDC = GetDC(MSChart1.hwnd)
Picture1.AutoRedraw = True
Picture1.Move 0, 0, MSChart1.Width, MSChart1.Height
BitBlt Picture1.hdc, 0, 0, W, H, lDC, 0, 0, SRCCOPY
Call ReleaseDC(MSChart1.hwnd, lDC)
Picture1 = Picture1.Image
Printer.PaintPicture Picture1, 0, 0
Printer.EndDoc
End Sub


------------------
Aaron Young
Analyst Programmer
aarony@redwingsoftware.com
adyoung@win.bright.net