Printing using the default printer from within a function

How do I call the default printing in a View from other than the menu?  I would also like to suppress the Print Dialog.  I have a POS application (MDI) in progress with buttons in the main view class indicating payment methods.  When the user presses the appropriate button, I would like to do some calcs, open the cash drawer, then print the invoice without further users intervention.  I have the default printing in the view class implemented and working from the menu and toolbar.

Thanks,

Pat...
patrickmAsked:
Who is Participating?
 
chensuCommented:
There are several methods. One of them is the following.

CDC PrnDC;
PRINTDLG PrintDlg;
BOOL bSucc = ::AfxGetApp()->GetPrinterDeviceDefaults(&PrintDlg) &&
             ::AfxGetApp()->CreatePrinterDC(PrnDC);
if (bSucc)
{
    // use PrnDC to print
}
else
{
    // failed to create the printer DC
}

0
 
TAMCCommented:
I have done something similar, what you do, I don't know the exact code off hand but can get it if you can't figure it out, is Post a Messeage to your application the windows message you post is something like ID_FILE_PRINT_DIRECT, I think, if you look at the menu handler for the toolbar option print, it will tell you, since that suppresses the dialog, not showing it, which is what I think you want.  comment if you have any further questions.
0
 
patrickmAuthor Commented:
Thanks TAMC, I am very weak on MFC and VC++, if you could provide me with syntax, I would appreciate it.

Pat...

0
 
patrickmAuthor Commented:
I ended up with

OnFilePrint();

in my View Class. Works like a charm.

Thanks for the syntax chensu
0
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.

All Courses

From novice to tech pro — start learning today.