📄 subject_65722.htm
字号:
<p>
序号:65722 发表者:胖色盲 发表日期:2003-12-19 10:00:05
<br>主题:SDI程序中如何设置打印纸张大小!
<br>内容:打印时默认纸张是A4,我想在程序中控制它是B5,不知道怎么做,望指教!
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:林建华 回复日期:2003-12-19 10:27:16
<br>内容:我都是弹出那个打印设置的对话框让别人自己设置的
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:胖色盲 回复日期:2003-12-19 12:03:32
<br>内容:我这个程序只要打B5的!我google了一下,也没有找到!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:夏雪宜 回复日期:2003-12-19 13:25:40
<br>内容:我的一个程序中可以选择A4、B5两种纸型,实际上应该比较简单。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:thompson 回复日期:2003-12-20 21:31:20
<br>内容:利用printdialog的DEVMODE结构
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:险峰 回复日期:2003-12-20 22:39:57
<br>内容:Class WPrintJob中的域setPageDimensions可做到吧!你可以查查MSDN
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:胖色盲 回复日期:2003-12-22 09:13:18
<br>内容:金蛇郎君,能不能给段代码!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:胖色盲 回复日期:2003-12-22 09:33:59
<br>内容:4楼、5楼能不能说详细点儿,谢谢!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:夏雪宜 回复日期:2003-12-22 16:54:04
<br>内容:他们两个应该是正宗的做法,我的打印程序写的有问题,我写的基本上是和我的视图没有什么关系,我是根据视图上显示的数据自己重新设计打印程序的,感觉有显地方很罗嗦,比较难的时分页,算起来很难。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:胖色盲 回复日期:2003-12-23 10:17:48
<br>内容:我还没有实现!谁有明确的方法!!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:夏雪宜 回复日期:2003-12-23 15:08:24
<br>内容:要是我,就重新写一个打印程序了,我觉得月没有什么难写的,就是麻烦一点,要计算如何分页,尤其是文件大小不确定的那种,你好好想想,没有那么难
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:fiction 回复日期:2003-12-23 15:45:19
<br>内容:想帮你,可惜力不从心啊!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:yanzheng 回复日期:2003-12-23 16:17:42
<br>内容:方法1、//设置打印方向<BR> ASSERT_VALID(pDC);<BR> ASSERT(pInfo!=NULL);<BR> DEVMODE* pDevMode=pInfo->m_pPD->GetDevMode();<BR> pDevMode->dmPaperSize=DMPAPER_A4;<BR> pDC->ResetDC(pDevMode);<BR><BR><BR><BR>方法2、<BR> PRINTDLG pd;<BR> pd.lStructSize=(DWORD)sizeof(PRINTDLG);<BR> ZeroMemory(&pd,sizeof(PRINTDLG));<BR> BOOL bRet=AfxGetApp()->GetPrinterDeviceDefaults(&pd);<BR> if(bRet)<BR> {<BR> // protect memory handle with ::GlobalLock and ::GlobalUnlock<BR> DEVMODE FAR *pDevMode=(DEVMODE FAR *)::GlobalLock(pd.hDevMode);<BR> // set orientation to landscape<BR> pDevMode->dmPaperSize=DMPAPER_A4;<BR> ::GlobalUnlock(pd.hDevMode);<BR> }<BR><BR><BR><BR>dmPaperSize <BR>For printer devices only, selects the size of the paper to print on. This member can be set to zero if the length and width of the paper are both set by the dmPaperLength and dmPaperWidth members. Otherwise, the dmPaperSize member can be set to one of the following predefined values: Value Meaning <BR>DMPAPER_LETTER Letter, 8 1/2- by 11-inches <BR>DMPAPER_LEGAL Legal, 8 1/2- by 14-inches <BR>DMPAPER_A4 A4 Sheet, 210- by 297-millimeters <BR>DMPAPER_CSHEET C Sheet, 17- by 22-inches <BR>DMPAPER_DSHEET D Sheet, 22- by 34-inches <BR>DMPAPER_ESHEET E Sheet, 34- by 44-inches <BR>DMPAPER_LETTERSMALL Letter Small, 8 1/2- by 11-inches <BR>DMPAPER_TABLOID Tabloid, 11- by 17-inches <BR>DMPAPER_LEDGER Ledger, 17- by 11-inches <BR>DMPAPER_STATEMENT Statement, 5 1/2- by 8 1/2-inches <BR>DMPAPER_EXECUTIVE Executive, 7 1/4- by 10 1/2-inches <BR>DMPAPER_A3 A3 sheet, 297- by 420-millimeters <BR>DMPAPER_A4SMALL A4 small sheet, 210- by 297-millimeters <BR>DMPAPER_A5 A5 sheet, 148- by 210-millimeters <BR>DMPAPER_B4 B4 sheet, 250- by 354-millimeters <BR>DMPAPER_B5 B5 sheet, 182- by 257-millimeter paper <BR>DMPAPER_FOLIO Folio, 8 1/2- by 13-inch paper <BR>DMPAPER_QUARTO Quarto, 215- by 275-millimeter paper <BR>DMPAPER_10X14 10- by 14-inch sheet <BR>DMPAPER_11X17 11- by 17-inch sheet <BR>DMPAPER_NOTE Note, 8 1/2- by 11-inches <BR>DMPAPER_ENV_9 #9 Envelope, 3 7/8- by 8 7/8-inches <BR>DMPAPER_ENV_10 #10 Envelope, 4 1/8- by 9 1/2-inches <BR>DMPAPER_ENV_11 #11 Envelope, 4 1/2- by 10 3/8-inches <BR>DMPAPER_ENV_12 #12 Envelope, 4 3/4- by 11-inches <BR>DMPAPER_ENV_14 #14 Envelope, 5- by 11 1/2-inches <BR>DMPAPER_ENV_DL DL Envelope, 110- by 220-millimeters <BR>DMPAPER_ENV_C5 C5 Envelope, 162- by 229-millimeters <BR>DMPAPER_ENV_C3 C3 Envelope, 324- by 458-millimeters <BR>DMPAPER_ENV_C4 C4 Envelope, 229- by 324-millimeters <BR>DMPAPER_ENV_C6 C6 Envelope, 114- by 162-millimeters <BR>DMPAPER_ENV_C65 C65 Envelope, 114- by 229-millimeters <BR>DMPAPER_ENV_B4 B4 Envelope, 250- by 353-millimeters <BR>DMPAPER_ENV_B5 B5 Envelope, 176- by 250-millimeters <BR>DMPAPER_ENV_B6 B6 Envelope, 176- by 125-millimeters <BR>DMPAPER_ENV_ITALY Italy Envelope, 110- by 230-millimeters <BR>DMPAPER_ENV_MONARCH Monarch Envelope, 3 7/8- by 7 1/2-inches <BR>DMPAPER_ENV_PERSONAL 6 3/4 Envelope, 3 5/8- by 6 1/2-inches <BR>DMPAPER_FANFOLD_US US Std Fanfold, 14 7/8- by 11-inches <BR>DMPAPER_FANFOLD_STD_GERMAN German Std Fanfold, 8 1/2- by 12-inches <BR>DMPAPER_FANFOLD_LGL_GERMAN German Legal Fanfold, 8 1/2- by 13-inches <BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:yanzheng 回复日期:2003-12-23 16:20:14
<br>内容:方法1 在OnPrepareDC中
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:yanzheng 回复日期:2003-12-23 16:22:13
<br>内容:方法1、//设置打印方向 在OnPrepareDC中 <BR> ASSERT_VALID(pDC);<BR> ASSERT(pInfo!=NULL);<BR> DEVMODE* pDevMode=pInfo->m_pPD->GetDevMode();<BR> pDevMode->dmPaperSize=DMPAPER_B5;<BR> pDC->ResetDC(pDevMode);<BR><BR><BR><BR>方法2、<BR> PRINTDLG pd;<BR> pd.lStructSize=(DWORD)sizeof(PRINTDLG);<BR> ZeroMemory(&pd,sizeof(PRINTDLG));<BR> BOOL bRet=AfxGetApp()->GetPrinterDeviceDefaults(&pd);<BR> if(bRet)<BR> {<BR> // protect memory handle with ::GlobalLock and ::GlobalUnlock<BR> DEVMODE FAR *pDevMode=(DEVMODE FAR *)::GlobalLock(pd.hDevMode);<BR> // set orientation to landscape<BR> pDevMode->dmPaperSize=DMPAPER_B5;<BR> ::GlobalUnlock(pd.hDevMode);<BR> }<BR><BR><BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:yanzheng 回复日期:2003-12-23 16:35:51
<br>内容:如果行的话值一千分,有没意见
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:yanzheng 回复日期:2003-12-23 16:49:44
<br>内容:http://www.csdn.net/develop/article/11/11458.shtm
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:胖色盲 回复日期:2003-12-24 09:58:08
<br>内容:PRINTDLG pd; //该结构包含打印对话框中的所有信息<BR>LPDEVMODE lpDevMode; <BR>if(AfxGetApp()->GetPrinterDeviceDefaults(&pd)) //获得默认的打印机的信息<BR>{<BR> lpDevMode=(LPDEVMODE)GlobalLock(pd.hDevMode); <BR> if(lpDevMode)<BR> { <BR> lpDevMode->dmPaperSize=DMPAPER_A4; //将打印纸设置为A4<BR> lpDevMode->dmOrientation=DMORIENT_LANDSCAPE; //将打印机设置为横向打印。<BR> lpDevMode->dmPrintQuality=600 //打印分辨率为600dpi<BR> }<BR> GlobalUnlock(pd.hDevMode);<BR>}<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -