VB6 Printing a long form only prints the first page

I have a form which allows the user to add items in a list, thus extending the length of the form. The form prints ok when it fits on the printer page, but when it goes off the first page the printer just doesn't bother with the rest of the form.
I have tried changing the frompage and topage of the Common Dialog control but it still won't print.
I have been using the Form1.PrintForm method. Is there a better way, or something I am missing?
LVL 4
andy_maskellAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Jim HornMicrosoft SQL Server Developer, Architect, and AuthorCommented:
(Potentially overly obvious comment)  
If your intent to print out what appears to the user in a form, then that would best be handled in a report, which is optimized for printing on paper, as opposed to a form which is optimized to be a user interface.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
andy_maskellAuthor Commented:
Thanks for the quick response.
The form I want to print out is a stand alone VB application.
There is no report generation done through a database.
0
g_johnsonCommented:
Much like jimhorn said, unless there is a need to print the user interface, i.e., if your real need is to print the information contained on the form or in the list box, then I would use the printer object and make a report.  this can be done from the application using the information on the screen; it does not need to be a "database report."
0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

List244Commented:
I think what Jimhorn is trying to tell you, is if you want to print the information, do that.
Don't print the form, it just takes extra space and does the user no good on paper.  In
other words, copy the data to something which stores text, and print the text.
0
andy_maskellAuthor Commented:
So I guess I'm going about it the wrong way.
Could anyone please tell me the best way to print the form info to a report, or point me towards a tutorial.
0
g_johnsonCommented:
use the printer.print method to print to your default printer.
position on the paper by using the printer.CurrentX and printer.CurrentY properties
write a subroutine for the header (title, page number, column titles, etc) then call it before you print the actual lines of the report and when you are going to go off the end of the page (about 14000 for portrait, 9500 for landscape)
use printer.newpage to start a new page (but not the first page)
user printer.enddoc when done

0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic Classic

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.