How can I print charts to monochrome printers ?
For each different Series type there is
a solution. If your printer has good "grey-scale" printing output, you might
just need to select good colors for each different level of gray.
The best solution, though, is to
select a different Brush.Style for each Series. For example, the Pie Series has a
"UsePatterns" property which plots each Pie slice using a different pattern
style.
Windows provides only 6 different patterns
(vertical, horizontal, diagonal, etc) .
In TeeChart Pro 4.0 and 5.0 you can use the
Brush.Bitmap property to fill points using your custom "patterns" in bitmap
(picture) format.
Thousands of freeware patterns can be found at many internet web sites (marble, wood,
water, iron, etc).
How can I mix TeeChart printed
output with other non-TeeChart printed output?
If you require to mix TeeChart printed output with other non-TeeChart printed output then you should use the PrintPartialHandle method to 'attach' the TeeCharts to the existing print jobs e.g.
Private Sub Command2_Click()
Dim HWidth, HHeight, I, Msg1, Msg2 ' Declare variables.
On Error GoTo ErrorHandler ' Set up error handler.
Msg1 = "This is printed on page before Chart"
Msg2 = "This is printed on page after Chart"
'Scale & position text.
HWidth = Printer.TextWidth(Msg) / 2 ' Get half width.
HHeight = Printer.TextHeight(Msg) / 2 ' Get half height.
Printer.CurrentX = Printer.ScaleWidth / 3 - HWidth
Printer.CurrentY = Printer.ScaleHeight / 3 - HHeight
Printer.Print Msg1 & Printer.Page & "." ' Print.
With TChart1.Printer
.Orientation = poPortrait
.PrintPartialHandle Printer.hDC, _
.PageWidth / 3 _
, (.PageHeight / 3) + 10 _
, (.PageWidth / 3) * 2 _
, (2 * (.PageHeight / 3)) - HHeight - 10
End With
Printer.CurrentY = 2 * Printer.ScaleHeight / 3 - HHeight
Printer.CurrentX = Printer.ScaleWidth / 3 - HWidth
Printer.Print Msg2 & Printer.Page & "." ' Print.
Printer.EndDoc ' Printing is finished.
Exit Sub
ErrorHandler:
MsgBox "There was a problem printing to your printer."
Exit Sub
End Sub