>Ed,
>What I'm thinking at this point is why is it so easy to print a screen in Delphi or in Access and so hard to do it in VFP.
Because you're making it hard; rather than coding API calls, I'd drop an ActiveX Control on the form or Desktop, pass it an hWnd and an hDC for the target printer, and let it do all the work. The control would end up being 50-100 lines of VB, Delphi or C++ that someone else wrote. Why invent the wheel?
>Seems to me this should be a function in the product. Maybe I should put it on the wish list. I like to use the API for quick and dirty stuff. If I have to figure out structures and the like, I can generally think of some other way to do it in VFP or convince myself I really didn't need to do this anyway.
Again, why should it be native? Learn from the VB crowd and when you need some functionality that isn't there, buy it, drop a widget on a form and add the functionality you need. I'd assumed you had a reason to do this that I didn't understand - all I saw was "I have this piece of code I creebed that I don't understand and doesn't work like I want it to", and I tried to explain why it didn't work as you thought it might and how to fix it...