[WIN32OLE]: Using Events

S

Steve Tuckner

This is a multi-part message in MIME format.

------=_NextPart_000_0318_01C344AB.6131DCE0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

Hello all,

I am trying to use Win32OLE to control a windows printer driver that
will be used to capture the printer output from applications to create
TIFF files. Below is my long winded explanation of what I am trying to
do. Any ideas at all would be welcome.

Thanks,

Steve Tuckner


Using the nifty Simple OLE browser from the WIN32OLE web page, I was
able to learn that this driver has three "interfaces" to play with.

They are:

BiPrnDrv
Abort
AboutBox
EndDoc
--------------------------- (what EndDoc output looks like)
Class BiPrnDrv
GUID : {E5B71FF3-4946-4DCC-863E-F16B8F864A66}
PROGID : BIPRNDRV.BiPrnDrvCtrl.1
DESCRIPTION : Black Ice Message Capture Control

Event FUNC VOID EndDoc
Dispatch ID : 3
DESCRIPTION :
arg1 - BSTR GroupFileName []

Event Interface : _DBiPrnDrvEvents
-----------------------------
InitCapture
StarDoc
StartPage
_DBiPrnDrv
AboutBox
GetIDsOfNames
GetTypeInfo
GetTypeInfoCount
InitCapture
Invoke
PrinterName
----------------------------- (What PrinterName entry looks like)
Dispatch _DBiPrnDrv
GUID : {8FE2BEA5-0F7F-4758-B6A4-68F86C74AA2D}
PROGID :
DESCRIPTION : Dispatch interface for BiPrnDrv Control


DISPATCH BSTR PrinterName
-----------------------------
UseCopyData
_DBiPrnDrvEvents
Abort
EndDoc
----------------------------- (What EndDoc looks like)
Dispatch _DBiPrnDrvEvents
GUID : {68E14ECB-14D9-4C9D-9470-C05348FED4CC}
PROGID :
DESCRIPTION : Event interface for BiPrnDrv Control

FUNC VOID EndDoc
Dispatch ID : 3
DESCRIPTION :
arg1 - BSTR GroupFileName []
-----------------------------
EndPage
GetIDsOfNames
GetTypeInfo
GetTypeInfoCount
Invoke
StartDoc
StartPage


Below is my code to try and get the printing events to be noticed by me.
They have very little doc (the vendor I got it from on the interface,
but do have sample code in VB and Delphi. Even so I have not be able to
get it to work. I can get the AboutBox to come up so that much works.
Below is my Ruby code and below that is the example VB code. I don't
know much about OLE but I have done some scripting of Outlook. I am
completely new to OLE events. Any ideas at all would be welcome on where
I should go from here (aside from talking to the vendor I acquired this
driver from who has probably never heard of Ruby before). I also tried
setting the printer name but that seemed to have no effect. I don't
understand the difference between the first two interfaces or how it was
even possible to set the PrinterName against the first interface when it
is part of the second.

-----------------------------------------------------------------------
(My ruby code)
require "win32ole"

printer = WIN32OLE.new("BIPRNDRV.BiPrnDrvCtrl.1")

ev = WIN32OLE_EVENT.new(printer, "_DBiPrnDrvEvents")
ev.on_event {|*args| print "default handler\n"}
ev.on_event("StartDoc") { print "in start doc\n"}
ev.on_event("StartPage") {|page_num| print "printing page
#{page_num}\n"}
ev.on_event("EndDoc") { print "in end doc\n"}
ev.on_event("EndPage") { print "in end page\n"}

while true
WIN32OLE_EVENT.message_loop
end


-----------------------------------------------------------------------
(VB sample code)

VERSION 5.00
Object = "{6ADA10EC-D372-4FE7-863C-BA84E3B89F76}#1.0#0"; "BIPRNDRV.OCX"
Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "COMDLG32.OCX"
Begin VB.Form Form1
BorderStyle = 3 'Fixed Dialog
Caption = "Message capture sample"
ClientHeight = 3195
ClientLeft = 45
ClientTop = 330
ClientWidth = 4680
Icon = "BiCapture.frx":0000
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 3195
ScaleWidth = 4680
ShowInTaskbar = 0 'False
StartUpPosition = 3 'Windows Default
Begin VB.CommandButton Exit
Cancel = -1 'True
Caption = "E&xit"
Height = 375
Left = 1320
TabIndex = 5
Top = 2640
Width = 1815
End
Begin VB.ListBox List1
Height = 1425
ItemData = "BiCapture.frx":030A
Left = 120
List = "BiCapture.frx":030C
TabIndex = 4
Top = 960
Width = 4455
End
Begin MSComDlg.CommonDialog CommonDialog1
Left = 120
Top = 2640
_ExtentX = 847
_ExtentY = 847
_Version = 393216
End
Begin VB.Frame Frame1
Caption = "Current Printer"
Height = 735
Left = 120
TabIndex = 1
Top = 120
Width = 4455
Begin VB.CommandButton ChangePrinter
Caption = "Change Printer"
Height = 375
Left = 3000
TabIndex = 2
Top = 240
Width = 1215
End
Begin VB.Label CurrentPrinter
Height = 255
Left = 240
TabIndex = 3
Top = 360
Width = 2535
End
End
Begin BIPRNDRVLib.BiPrnDrv BiPrnDrv1
Height = 615
Left = 3960
TabIndex = 0
Top = 2520
Width = 615
_Version = 65536
_ExtentX = 1085
_ExtentY = 1085
_StockProps = 0
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False

Private Sub BiPrnDrv1_EndDoc(ByVal GroupFileName As String)
List1.AddItem "EndDoc message was received."
List1.AddItem "The Group File is: " & GroupFileName
List1.TopIndex = List1.ListCount - 1
End Sub

Private Sub BiPrnDrv1_EndPage(ByVal ImageFileName As String)
List1.AddItem "EndPage message was received."
List1.AddItem "The Image File is:" & ImageFileName
List1.TopIndex = List1.ListCount - 1
End Sub

Private Sub BiPrnDrv1_StarDoc(ByVal GroupFileName As String)
List1.AddItem "StartDoc message was received."
List1.AddItem "The Group File is: " & GroupFileName
List1.TopIndex = List1.ListCount - 1
End Sub

Private Sub BiPrnDrv1_StartPage(ByVal PageNumber As Long)
List1.AddItem "StartPage message was received."
List1.AddItem "The current page number is: " & Str(PageNumber)
List1.TopIndex = List1.ListCount - 1
End Sub

Private Sub ChangePrinter_Click()
CommonDialog1.ShowPrinter
BiPrnDrv1.PrinterName = Printer.DeviceName
CurrentPrinter.Caption = Printer.DeviceName
List1.AddItem "Please print with the " & BiPrnDrv1.PrinterName & "
printer."
End Sub

Private Sub Exit_Click()
Unload Form1
End Sub

Private Sub Form_Load()
BiPrnDrv1.PrinterName = "Black Ice Color"
CurrentPrinter.Caption = "Black Ice Color"
List1.AddItem "Please print with the " & BiPrnDrv1.PrinterName & "
printer."
End Sub



------=_NextPart_000_0318_01C344AB.6131DCE0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>



<META content=3D"MSHTML 6.00.2600.0" name=3DGENERATOR></HEAD>
<BODY>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial size=3D2>Hello =

all,</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial size=3D2>I am =
trying to use=20
Win32OLE to control a windows printer driver that will be used to =
capture the=20
printer output from applications to create TIFF files. Below is my long =
winded=20
explanation of what I am trying to do. Any ideas at all would be=20
welcome.</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial=20
size=3D2>Thanks,</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial size=3D2>Steve =

Tuckner</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial size=3D2>Using =
the nifty=20
Simple OLE browser from the WIN32OLE web page, I was able to learn that =
this=20
driver has three "interfaces" to play with.</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial size=3D2>They=20
are:</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial=20
size=3D2>BiPrnDrv</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial =
size=3D2>&nbsp;&nbsp;=20
Abort</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial =
size=3D2>&nbsp;&nbsp;=20
AboutBox</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial =
size=3D2>&nbsp;&nbsp;=20
EndDoc</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial=20
size=3D2>--------------------------- (what EndDoc output looks=20
like)</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial =
size=3D2>Class&nbsp;=20
BiPrnDrv<BR>&nbsp; GUID : =
{E5B71FF3-4946-4DCC-863E-F16B8F864A66}<BR>&nbsp;=20
PROGID : BIPRNDRV.BiPrnDrvCtrl.1<BR>&nbsp; DESCRIPTION : Black Ice =
Message=20
Capture Control</FONT></SPAN></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial size=3D2>Event =
FUNC VOID=20
EndDoc<BR>&nbsp; Dispatch ID : 3<BR>&nbsp; DESCRIPTION : <BR>&nbsp; =
arg1 - BSTR=20
GroupFileName []</FONT></SPAN></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial =
size=3D2>&nbsp; Event=20
Interface :=20
_DBiPrnDrvEvents<BR>-----------------------------</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial =
size=3D2>&nbsp;&nbsp;=20
InitCapture</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial =
size=3D2>&nbsp;&nbsp;=20
StarDoc</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial=20
size=3D2>&nbsp;&nbsp;&nbsp;StartPage</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial=20
size=3D2>_DBiPrnDrv</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial =
size=3D2>&nbsp;&nbsp;=20
AboutBox</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial=20
size=3D2>&nbsp;&nbsp;&nbsp;GetIDsOfNames</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial =
size=3D2>&nbsp;&nbsp;=20
GetTypeInfo</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial =
size=3D2>&nbsp;&nbsp;=20
GetTypeInfoCount</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial =
size=3D2>&nbsp;&nbsp;=20
InitCapture</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial =
size=3D2>&nbsp;&nbsp;=20
Invoke</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial =
size=3D2>&nbsp;&nbsp;=20
PrinterName</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial=20
size=3D2>----------------------------- (What PrinterName entry looks=20
like)</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial =
size=3D2>Dispatch&nbsp;=20
_DBiPrnDrv<BR>&nbsp; GUID : =
{8FE2BEA5-0F7F-4758-B6A4-68F86C74AA2D}<BR>&nbsp;=20
PROGID : <BR>&nbsp; DESCRIPTION : Dispatch interface for BiPrnDrv=20
Control</FONT></SPAN></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV><SPAN =
class=3D098260022-07072003>
<DIV><FONT face=3DArial size=3D2></FONT><FONT face=3DArial =
size=3D2></FONT><BR><FONT=20
face=3DArial size=3D2>&nbsp; DISPATCH BSTR PrinterName</FONT></DIV>
<DIV></SPAN><SPAN class=3D098260022-07072003><FONT face=3DArial=20
size=3D2>-----------------------------</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial =
size=3D2>&nbsp;&nbsp;=20
UseCopyData</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial=20
size=3D2>_DBiPrnDrvEvents</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial =
size=3D2>&nbsp;&nbsp;=20
Abort</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial =
size=3D2>&nbsp;&nbsp;=20
EndDoc</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial=20
size=3D2>----------------------------- (What EndDoc looks=20
like)</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial =
size=3D2>Dispatch&nbsp;=20
_DBiPrnDrvEvents<BR>&nbsp; GUID :=20
{68E14ECB-14D9-4C9D-9470-C05348FED4CC}<BR>&nbsp; PROGID : <BR>&nbsp; =
DESCRIPTION=20
: Event interface for BiPrnDrv Control</FONT></SPAN></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial size=3D2>FUNC =
VOID=20
EndDoc<BR>&nbsp; Dispatch ID : 3<BR>&nbsp; DESCRIPTION : <BR>&nbsp; =
arg1 - BSTR=20
GroupFileName []<BR></FONT></SPAN><SPAN =
class=3D098260022-07072003><FONT=20
face=3DArial size=3D2>-----------------------------</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial =
size=3D2>&nbsp;&nbsp;=20
EndPage</FONT></SPAN></DIV><SPAN class=3D098260022-07072003>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial=20
size=3D2>&nbsp;&nbsp;&nbsp;GetIDsOfNames</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial =
size=3D2>&nbsp;&nbsp;=20
GetTypeInfo</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial =
size=3D2>&nbsp;&nbsp;=20
GetTypeInfoCount</FONT></SPAN></DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp; Invoke</FONT></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial =
size=3D2>&nbsp;&nbsp;=20
StartDoc</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial =
size=3D2>&nbsp;&nbsp;=20
StartPage</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial size=3D2>Below =
is my code to=20
try and get the printing events to be noticed by me.&nbsp; They have =
very little=20
doc (the vendor I got it from on the interface, but do have sample code =
in VB=20
and Delphi. Even so I have not be able to get it to work. I can get the =
AboutBox=20
to come up so that much works. Below is my Ruby code and below that is =
the=20
example VB code. I don't know much about OLE but I have done some =
scripting of=20
Outlook. I am completely new to OLE events. Any ideas at all would be =
welcome on=20
where I should go from here (aside from talking to the vendor I =
acquired this=20
driver from who has probably never heard of Ruby before). I also tried =
setting=20
the printer name but that seemed to have no effect. I don't understand =
the=20
difference between the first two interfaces or how it was even possible =
to set=20
the PrinterName against the first interface when it is part of the=20
second.</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D098260022-07072003>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial=20
size=3D2>---------------------------------------------------------------=
--------=20
(My ruby code)</FONT></SPAN></DIV></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial =
size=3D2>require=20
"win32ole"</FONT></SPAN></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial =
size=3D2>printer =3D=20
WIN32OLE.new("BIPRNDRV.BiPrnDrvCtrl.1")<BR></FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial size=3D2>ev =
=3D=20
WIN32OLE_EVENT.new(printer, "_DBiPrnDrvEvents")<BR>ev.on_event {|*args| =
print=20
"default handler\n"}<BR>ev.on_event("StartDoc") { print "in start=20
doc\n"}<BR>ev.on_event("StartPage") {|page_num| print "printing page=20
#{page_num}\n"}<BR>ev.on_event("EndDoc") { print "in end=20
doc\n"}<BR>ev.on_event("EndPage") { print "in end =
page\n"}</FONT></SPAN></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial size=3D2>while =
true<BR>&nbsp;=20
WIN32OLE_EVENT.message_loop <BR>end<BR></FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial=20
size=3D2>---------------------------------------------------------------=
--------=20
(VB sample code)</FONT></SPAN></DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial =
size=3D2>VERSION=20
5.00<BR>Object =3D "{6ADA10EC-D372-4FE7-863C-BA84E3B89F76}#1.0#0";=20
"BIPRNDRV.OCX"<BR>Object =3D =
"{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0";=20
"COMDLG32.OCX"<BR>Begin VB.Form Form1 <BR>&nbsp;&nbsp;=20
BorderStyle&nbsp;&nbsp;&nbsp;&nbsp; =3D&nbsp;&nbsp; 3&nbsp; 'Fixed=20
Dialog<BR>&nbsp;&nbsp; =
Caption&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
=3D&nbsp;&nbsp; "Message capture sample"<BR>&nbsp;&nbsp;=20
ClientHeight&nbsp;&nbsp;&nbsp; =3D&nbsp;&nbsp; 3195<BR>&nbsp;&nbsp;=20
ClientLeft&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =3D&nbsp;&nbsp; =
45<BR>&nbsp;&nbsp;=20
ClientTop&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =3D&nbsp;&nbsp; =
330<BR>&nbsp;&nbsp;=20
ClientWidth&nbsp;&nbsp;&nbsp;&nbsp; =3D&nbsp;&nbsp; =
4680<BR>&nbsp;&nbsp;=20
Icon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
=3D&nbsp;&nbsp; "BiCapture.frx":0000<BR>&nbsp;&nbsp;=20
LinkTopic&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =3D&nbsp;&nbsp;=20
"Form1"<BR>&nbsp;&nbsp; MaxButton&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
=3D&nbsp;&nbsp; 0&nbsp;&nbsp; 'False<BR>&nbsp;&nbsp;=20
MinButton&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =3D&nbsp;&nbsp; =
0&nbsp;&nbsp;=20
'False<BR>&nbsp;&nbsp; ScaleHeight&nbsp;&nbsp;&nbsp;&nbsp; =
=3D&nbsp;&nbsp;=20
3195<BR>&nbsp;&nbsp; ScaleWidth&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
=3D&nbsp;&nbsp;=20
4680<BR>&nbsp;&nbsp; ShowInTaskbar&nbsp;&nbsp; =3D&nbsp;&nbsp; =
0&nbsp;&nbsp;=20
'False<BR>&nbsp;&nbsp; StartUpPosition =3D&nbsp;&nbsp; 3&nbsp; 'Windows =

Default<BR>&nbsp;&nbsp; Begin VB.CommandButton Exit=20
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
Cancel&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
=3D&nbsp;&nbsp;=20
-1&nbsp; 'True<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
Caption&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =3D&nbsp;&nbsp; =

"E&amp;xit"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
Height&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
=3D&nbsp;&nbsp;=20
375<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
Left&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
=3D&nbsp;&nbsp; 1320<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
TabIndex&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =3D&nbsp;&nbsp;=20
5<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
Top&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;=20
=3D&nbsp;&nbsp; 2640<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
Width&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
=3D&nbsp;&nbsp;=20
1815<BR>&nbsp;&nbsp; End<BR>&nbsp;&nbsp; Begin VB.ListBox List1=20
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
Height&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
=3D&nbsp;&nbsp;=20
1425<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
ItemData&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =3D&nbsp;&nbsp;=20
"BiCapture.frx":030A<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
Left&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
=3D&nbsp;&nbsp; 120<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
List&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
=3D&nbsp;&nbsp; "BiCapture.frx":030C<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
TabIndex&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =3D&nbsp;&nbsp;=20
4<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
Top&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;=20
=3D&nbsp;&nbsp; 960<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
Width&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
=3D&nbsp;&nbsp;=20
4455<BR>&nbsp;&nbsp; End<BR>&nbsp;&nbsp; Begin MSComDlg.CommonDialog=20
CommonDialog1 <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
Left&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
=3D&nbsp;&nbsp; 120<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
Top&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;=20
=3D&nbsp;&nbsp; 2640<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
_ExtentX&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =3D&nbsp;&nbsp;=20
847<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
_ExtentY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =3D&nbsp;&nbsp;=20
847<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
_Version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =3D&nbsp;&nbsp;=20
393216<BR>&nbsp;&nbsp; End<BR>&nbsp;&nbsp; Begin VB.Frame Frame1=20
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
Caption&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =3D&nbsp;&nbsp; =
"Current=20
Printer"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
Height&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
=3D&nbsp;&nbsp;=20
735<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
Left&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
=3D&nbsp;&nbsp; 120<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
TabIndex&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =3D&nbsp;&nbsp;=20
1<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
Top&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;=20
=3D&nbsp;&nbsp; 120<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
Width&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
=3D&nbsp;&nbsp;=20
4455<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Begin VB.CommandButton =
ChangePrinter=20
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
Caption&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =3D&nbsp;&nbsp; =
"Change=20
Printer"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
Height&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
=3D&nbsp;&nbsp;=20
375<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
Left&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
=3D&nbsp;&nbsp; =
3000<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
TabIndex&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =3D&nbsp;&nbsp;=20
2<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
Top&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;=20
=3D&nbsp;&nbsp; 240<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =

Width&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
=3D&nbsp;&nbsp;=20
1215<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
End<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
Begin VB.Label CurrentPrinter=20
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
Height&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
=3D&nbsp;&nbsp;=20
255<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
Left&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
=3D&nbsp;&nbsp; 240<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =

TabIndex&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =3D&nbsp;&nbsp;=20
3<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
Top&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;=20
=3D&nbsp;&nbsp; 360<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =

Width&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
=3D&nbsp;&nbsp;=20
2535<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End<BR>&nbsp;&nbsp; =
End<BR>&nbsp;&nbsp;=20
Begin BIPRNDRVLib.BiPrnDrv BiPrnDrv1 <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =

Height&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
=3D&nbsp;&nbsp;=20
615<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
Left&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
=3D&nbsp;&nbsp; 3960<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
TabIndex&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =3D&nbsp;&nbsp;=20
0<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
Top&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;=20
=3D&nbsp;&nbsp; 2520<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
Width&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
=3D&nbsp;&nbsp;=20
615<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
_Version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =3D&nbsp;&nbsp;=20
65536<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
_ExtentX&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =3D&nbsp;&nbsp;=20
1085<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
_ExtentY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =3D&nbsp;&nbsp;=20
1085<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
_StockProps&nbsp;&nbsp;&nbsp;&nbsp;=20
=3D&nbsp;&nbsp; 0<BR>&nbsp;&nbsp; End<BR>End<BR>Attribute VB_Name =3D=20
"Form1"<BR>Attribute VB_GlobalNameSpace =3D False<BR>Attribute =
VB_Creatable =3D=20
False<BR>Attribute VB_PredeclaredId =3D True<BR>Attribute VB_Exposed =
=3D=20
False</FONT></SPAN></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial =
size=3D2>Private Sub=20
BiPrnDrv1_EndDoc(ByVal GroupFileName As String)<BR>List1.AddItem =
"EndDoc message=20
was received."<BR>List1.AddItem "The Group File is: " &amp;=20
GroupFileName<BR>List1.TopIndex =3D List1.ListCount - 1<BR>End=20
Sub</FONT></SPAN></DIV>
<DIV>&nbsp;</DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial =
size=3D2>Private Sub=20
BiPrnDrv1_EndPage(ByVal ImageFileName As String)<BR>List1.AddItem =
"EndPage=20
message was received."<BR>List1.AddItem "The Image File is:" &amp;=20
ImageFileName<BR>List1.TopIndex =3D List1.ListCount - 1<BR>End=20
Sub</FONT></SPAN></DIV>
<DIV>&nbsp;</DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial =
size=3D2>Private Sub=20
BiPrnDrv1_StarDoc(ByVal GroupFileName As String)<BR>List1.AddItem =
"StartDoc=20
message was received."<BR>List1.AddItem "The Group File is: " &amp;=20
GroupFileName<BR>List1.TopIndex =3D List1.ListCount - 1<BR>End=20
Sub</FONT></SPAN></DIV>
<DIV>&nbsp;</DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial =
size=3D2>Private Sub=20
BiPrnDrv1_StartPage(ByVal PageNumber As Long)<BR>List1.AddItem =
"StartPage=20
message was received."<BR>List1.AddItem "The current page number is: " =
&amp;=20
Str(PageNumber)<BR>List1.TopIndex =3D List1.ListCount - 1<BR>End=20
Sub</FONT></SPAN></DIV>
<DIV>&nbsp;</DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial =
size=3D2>Private Sub=20
ChangePrinter_Click()<BR>CommonDialog1.ShowPrinter<BR>BiPrnDrv1.PrinterN=
ame =3D=20
Printer.DeviceName<BR>CurrentPrinter.Caption =3D=20
Printer.DeviceName<BR>List1.AddItem "Please print with the " &amp;=20
BiPrnDrv1.PrinterName &amp; " printer."<BR>End Sub</FONT></SPAN></DIV>
<DIV>&nbsp;</DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial =
size=3D2>Private Sub=20
Exit_Click()<BR>Unload Form1<BR>End Sub</FONT></SPAN></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial =
size=3D2>Private Sub=20
Form_Load()<BR>BiPrnDrv1.PrinterName =3D "Black Ice=20
Color"<BR>CurrentPrinter.Caption =3D "Black Ice Color"<BR>List1.AddItem =
"Please=20
print with the " &amp; BiPrnDrv1.PrinterName &amp; " printer."<BR>End=20
Sub</FONT></SPAN></DIV>
<DIV>&nbsp;</DIV>
<DIV><SPAN class=3D098260022-07072003><FONT face=3DArial=20
size=3D2>&nbsp;</DIV></FONT></SPAN></SPAN></BODY></HTML>

------=_NextPart_000_0318_01C344AB.6131DCE0--
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Members online

Forum statistics

Threads
473,968
Messages
2,570,149
Members
46,695
Latest member
StanleyDri

Latest Threads

Top