VB Graph Custom Control Incompatible with HP II Series Printer

ID Number: Q80912

1.00

WINDOWS

buglist1.00

Summary:

The Visual Basic Graph custom control cannot successfully print

directly to a Hewlett-Packard (HP) II series LaserJet. This is a

compatibility issue between the Graph custom control and the HP II

series only. It is not a problem with Visual Basic.

Microsoft has confirmed this to be a problem with the Graph custom

control supplied with Microsoft Professional Toolkit for Microsoft

Visual Basic programming system version 1.0 for Windows. We are

researching this problem and will post new information here as it

becomes available.

More Information:

The Visual Basic Graph custom control version 1.2 allows you to send a

graph image directly to your printer by setting the graph's DrawMode

property to 5 (print). However, the Graph control is incompatible with

the HP II LaserJet family. When using the DrawMode=5 (print) method to

print to an HP II LaserJet, only a portion of the graph will print.

Workaround

----------

A workaround is to add an additional form to the project, transfer the

graph's image to the form, and then print the form. This method

bypasses the DrawMode=5 (print) method and the incompatibility issue.

The example below describes how to implement this workaround.

Note: Unless you know that your graph will never be printed on an HP

II Series LaserJet, you may wish to always use this print method.

Example

-------

1. Start Visual Basic. Form1 will be created by default.

2. From the File menu, choose Add File, and select the GRAPH.VBX

custom control file. The Graph tool will appear in the Toolbox.

3. Add another form (Form2).

4. Change the following properties for Form2:

Property Value

-------- -----

ControlBox False

MaxButton False

MinButton False

Caption False

5. On Form1, create a Graph control (Graph1) and a command button

(Command1). Set Command1.caption= "Print".

6. Size and edit Graph1 so that it appears the way you want it to

print.

7. Add the following code to the Command1_Click event:

Sub Command1_Click ()

'change to black/white for clearer printing

Graph1.DrawStyle = 0

'update change to black/white

Graph1.DrawMode = 2

Load Form2

'size Form2 and transfer Graph1's image

Form2.width = Graph1.width

Form2.height = Graph1.height

Form2.picture = Graph1.picture

Form2.visible = 1 'optional

Form2.PrintForm

'return Graph1 to display in color (optional)

Graph1.DrawStyle = 1

'update display to color

Graph1.DrawMode = 2

End Sub

8. From the Run menu, choose Start (ALT R, S) and click on the command

button.

Unless you specify otherwise, Graph1 will originally be displayed in

color. Once the Command1_Click event is triggered, the graph will

convert to black and white. If you exclude the optional line

Form2.visible=1, a dialog box will appear stating that Form2 is being

printed. Graph1 will convert back to a color display, and the program

will end.

If you included the optional line Form2.visible=1, then you will see

Form2 appear and resize with the black and white graph image as its

picture. A dialog box will appear stating that Form2 is being printed.

Graph1 will convert back to a color display and the program will end.

Additional reference words: 1.00 H-P HPII