Hi
There are examples of this in MSDN written in C, by getting, then modifying and then rewriting the DEVMODE structure.
Can anyone help me translate it to Visual Basic?
Appleman has an example which I can follow until he calls a routine in his APIGID32.DLL for memory manipulation and loses me.
As much as I would like to know how to do this - to be able to change the PrintQuality setting - I'm not sure if it will solve my Visual Basic Application problem!
It seems that when I bring up the ShowPrint dialog and modify the Quality setting in the Properties dialog to a higher value (e.g. from 360 to 720) it doen't take effect.
WHY, WHY, WHY...
My quest has led me to the DEVMODE structure but it seems to me the Printer Dialog changes should take effect if it is done just before printing.
This code will not use the new setting from the dialog:
CommonDialog1.PrinterDefault = True
CommonDialog1.CancelError = True
CommonDialog1.Flags = cdlPDPrintSetup
On Error Resume Next
CommonDialog1.ShowPrinter
If Err Then Exit Sub
' open the dialog, select Properties, change the
' Quality Setting and click OK
Printer.PaintPicture Picture1.Image, 300, 300
Printer.EndDoc
The output is still 360dpi.
My ability to understand this by researching the problem has turned up nothing. Either Visual Basic cannot use a different printer resolution than 360dpi or I have missed something in my dozen VB books and the VB documentation.
Any help would be very much appreciated - Thanx
There are examples of this in MSDN written in C, by getting, then modifying and then rewriting the DEVMODE structure.
Can anyone help me translate it to Visual Basic?
Appleman has an example which I can follow until he calls a routine in his APIGID32.DLL for memory manipulation and loses me.
As much as I would like to know how to do this - to be able to change the PrintQuality setting - I'm not sure if it will solve my Visual Basic Application problem!
It seems that when I bring up the ShowPrint dialog and modify the Quality setting in the Properties dialog to a higher value (e.g. from 360 to 720) it doen't take effect.
WHY, WHY, WHY...
My quest has led me to the DEVMODE structure but it seems to me the Printer Dialog changes should take effect if it is done just before printing.
This code will not use the new setting from the dialog:
CommonDialog1.PrinterDefault = True
CommonDialog1.CancelError = True
CommonDialog1.Flags = cdlPDPrintSetup
On Error Resume Next
CommonDialog1.ShowPrinter
If Err Then Exit Sub
' open the dialog, select Properties, change the
' Quality Setting and click OK
Printer.PaintPicture Picture1.Image, 300, 300
Printer.EndDoc
The output is still 360dpi.
My ability to understand this by researching the problem has turned up nothing. Either Visual Basic cannot use a different printer resolution than 360dpi or I have missed something in my dozen VB books and the VB documentation.
Any help would be very much appreciated - Thanx