Hi Calvin,
Speaking generally, modified DEVMODE data must be used to create a device context for the printer (CreateDC). And then draw something on this device context with GDI API functions:
StartDoc
StartPage
Escape
TextOut
BitBlt
StretchDIBits
SelectObject
EndPage
EndDoc
and more...
There is FoxPro example on my web site (members area):
Configuring DEVMODE structure for a printerhttp://www.news2news.com/vfp/?example=384API functions used in this code:
ClosePrinter
DeleteDC
DocumentProperties
GetActiveWindow
GetProfileString
OpenPrinter