danix
Jan 21st, 2000, 07:05 PM
The following code is used to print the chart, but it just prints black box?????
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
Thanks
------------------
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
Thanks
------------------