|
When I disconnect my printer and I print from my program, I have this error:
program c:\progms\paroll\Debug\payroll.exe
File: afxdlgs.inl
line 66.
This error arise on dc.Attach(printdlg.GetPrinterDC());
How can I avoid this error .
|
|
|
|
|
When I disconnect my printer and I print from my program, I have this error:
program c:\progms\paroll\Debug\payroll.exe
File: afxdlgs.inl
line 66.
This error arise on dc.Attach(printdlg.GetPrinterDC());
How can I avoid this error .
|
|
|
|
|
Return alue from GetPrinterDC() is valid?
|
|
|
|
|
When the printer is connect, there is no problem I print normally but when the printer is disconnect this error appear.
My problem is that I want to avoid this error what to do?
I try without success this
if (!dc.Attach(printdlg.GetPrinterDC()))
return
I learn My self
|
|
|
|
|
How do you use CPrintDialog
|
|
|
|
|
This want I write:
CPrintDialog printdlg(true, dwFlags,pParent);
printdlg.GetDefaults();
DEVMODE *MyPrintMode;
MyPrintMode = NULL;
MyPrintMode = printdlg.GetDevMode();
dc.CreateDC(printdlg.GetDriverName(), // Ignored for Printer DC's
printdlg.GetDeviceName(), // The only required item for Printer DC's
printdlg.GetPortName(), // Ignored for Printer DC's
MyPrintMode);
dc.Attach(printdlg.GetPrinterDC());
The error arise on the last sentence
I learn My self
|
|
|
|
|
Your problem isdc.CreateDC(...) you created a dc remove this function and send me if you have any error,please
|
|
|
|
|
|
if you use this code you get error
<br />
CPrintDialog printdlg(false);<br />
printdlg.GetDefaults();<br />
<br />
CDC dc22;<br />
DEVMODE *MyPrintMode;<br />
MyPrintMode = NULL;<br />
MyPrintMode = printdlg.GetDevMode();<br />
HDC hdc=printdlg.GetPrinterDC();<br />
dc22.Attach(printdlg.GetPrinterDC()); <br />
<br />
|
|
|
|
|
OK, you are right
Thanks for your assistance.
|
|
|
|
|
Dear Sir,
When I write this
DWORD dwFlags = PD_PAGENUMS ;
CWnd *pParent = this;
CPrintDialog printdlg(false, dwFlags,pParent);
Why pages is not enabled on the printing dialog that appears.
|
|
|
|
|
Can you be more specific
mikobi wrote: Why pages is not enabled on the printing dialog that appears.
|
|
|
|
|
When the Printing dialog appears, pages is dimmed. why ?
|
|
|
|
|
How do you send your pages to printer?
|
|
|
|
|
DWORD dwFlags = PD_PAGENUMS;
CWnd *pParent = this;
CPrintDialog printdlg(false, dwFlags,pParent);
if(printdlg.DoModal() == IDCANCEL)
return;
DEVMODE *MyPrintMode;
MyPrintMode = NULL;
MyPrintMode = printdlg.GetDevMode();
dc.Attach(printdlg.GetPrinterDC());
|
|
|
|
|
Why you dont use from PrintDlg(&pd); and use from pd.hDC
|
|
|
|
|
Please Sir, I don't understand you.
I learn My self , show me what to do.
Perhaps I don't know well what I am doing.
|
|
|
|
|
Would you like to correct my codes that I show you?
|
|
|
|
|
I said you can use from PrintDlg(&pd); like this
PRINTDLG pd;
DOCINFO di;
memset((void *)&pd, 0,sizeof(PRINTDLG));
pd.lStructSize = sizeof(PRINTDLG);
pd.hwndOwner = m_hWnd;
pd.Flags =PD_RETURNDC|PD_ENABLESETUPTEMPLATE;
pd.hInstance = NULL;
pd.nMaxPage=1;
pd.nMinPage=1;
pd.nCopies=1;
pd.hDevMode=0;
pd.nFromPage=1;
pd.nToPage=1;
PrintDlg(&pd);
di.cbSize = sizeof(DOCINFO);
di.lpszDocName = "Test";
di.lpszOutput = NULL;
StartDoc(pd.hDC, &di);
CImage m_Image;
m_Image.Load("c:\\0.bmp");
m_Image.BitBlt(pd.hDC,0,0,800,600,0,0,SRCCOPY);
EndDoc(pd.hDC);
|
|
|
|
|
No thing changed, Pages is dimmed again and initialise to 1 to 1.
I like that pages not dimmed and I can choose my self from what page to what pages to print like we do on Word or Excel
|
|
|
|
|
I didnt see this problem and you can print these pages or not
|
|
|
|
|
Pages to print is not fixed in the program codes.
I need when Printing dialog appears, i choice my self from 3 to 5 for example. Hence In the dialog that appears there is not this possibility to change because it's dimmed.
That's my problem
|
|
|
|
|
if you test my previous example you can see that i choose
pd.nFromPage=1; pd.nToPage=1; and it work do you test this code
|
|
|
|
|
I test it, I see that on printing dialog there is : pages from 1 to 1. And pages is dimmed. No means to change, that's my problem. Why is it dimmed, so there is no mean to change(for example from 1 to 2)
|
|
|
|
|
In this example if you change statement to
<br />
pd22.nMaxPage=10; <br />
pd22.nFromPage=1; <br />
pd22.nToPage=2; <br /> i think that your problem is solve
|
|
|
|