⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_16408.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:16408 发表者:高博伟 发表日期:2002-09-28 11:42:21
<br>主题:请问打印/预览中怎么根据需要的纸型及打印方向设置打印机
<br>内容:谢谢
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:iwill 回复日期:2002-09-28 12:31:34
<br>内容:OnPreparePrinting/OnPrint 中设置CPrintInfo对象
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:gbwstudio 回复日期:2002-09-28 13:37:56
<br>内容:我知道设置pInfo,可是我设了pInfo-&gt;m_rectDraw大小可是预览和打印的并没有使用我设置的大小,而且请问打印方向该设置怎么设置。请指教,谢谢
<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>回复者:徐景周 回复日期:2002-09-28 15:24:42
<br>内容:下面代码是DLL的一个设置打印机方向的函数<BR>int __stdcall _SetOrientation(LPSTR printerName, int orientation)<BR>{<BR>&nbsp;&nbsp;const bufSize=1000;<BR>&nbsp;&nbsp;const level=2;<BR>&nbsp;&nbsp;HANDLE hPrinter;<BR>&nbsp;&nbsp;DEVMODE *devMode;<BR>&nbsp;&nbsp;union <BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;BYTE pPrinter[bufSize];<BR>&nbsp;&nbsp;&nbsp;&nbsp;PRINTER_INFO_2 Info;<BR>&nbsp;&nbsp;} printerInfo;<BR>&nbsp;&nbsp;DWORD needByte;<BR>&nbsp;&nbsp;if(OpenPrinter(printerName, &hPrinter, NULL) == NULL) return 1;<BR>&nbsp;&nbsp;if(orientation != DMORIENT_PORTRAIT && orientation != DMORIENT_LANDSCAPE )<BR>&nbsp;&nbsp;&nbsp;&nbsp;return 2;<BR>&nbsp;&nbsp;GetPrinter(hPrinter, level, printerInfo.pPrinter, bufSize, &needByte);<BR>&nbsp;&nbsp;if(needByte &gt; bufSize) return 3;<BR>&nbsp;&nbsp;devMode = printerInfo.Info.pDevMode;<BR>&nbsp;&nbsp;devMode-&gt;dmFields = devMode-&gt;dmFields &brvbar; DM_ORIENTATION;<BR>&nbsp;&nbsp;devMode-&gt;dmOrientation = orientation;<BR>&nbsp;&nbsp;SetPrinter(hPrinter, level, printerInfo.pPrinter, NULL);<BR>&nbsp;&nbsp;ClosePrinter(hPrinter);<BR>&nbsp;&nbsp;return 0;<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>
回复者:gbwstudio 回复日期:2002-09-28 16:14:26
<br>内容:徐景周先生:<BR>对你提供的帮助不胜感激,仔细察看代码及vc帮助,通过设置<BR>devMode的属性应该可以设置纸型和打印方向。在MFC提供的打印预览体系里是否能够采用这种思路,在OnBeginPrinting 里得到打印机设备的句柄使用GetPrinter,取得printerinfo,设置devmode然后再SetPrinter,那么我现在还需要知道打印pDC怎么获得相应的设备句柄???如果不采用这种方法,直接获得默认打印机句柄怎么获得,因为不可能知道每台打印机的printerName.<BR>还有使用上述方法设置后是不是打印机的默认设置已改变,像word之类的东西,页面设置更改,打印完毕后打印机的默认设置并没有改变,是否应该保存打印机的默认设置,打印完再恢复回去,如果不是还有没有别的诀窍?<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>
回复者:徐景周 回复日期:2002-09-28 17:15:45
<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>
回复者:gbwstudio 回复日期:2002-09-30 10:26:44
<br>内容:现打印的纸型和方向可以实时设置,并不修改打印机的默认设置,可是预览窗口的还是采用默认的纸型,请问预览窗口类CPreviewView,怎么控制预览的尺寸,看了viewprev.cpp里面有很多的m_pPageInfo[nPage]有很多属性,互相之间以及预屏幕的映射关系弄了半天没搞清楚,<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 + -