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

📄 subject_15592.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:15592 发表者:wood 发表日期:2002-09-19 16:40:19
<br>主题:请大家帮我看看这段打印位图的程序为什么只走纸却打不出位图呢?
<br>内容:CDC&nbsp;&nbsp;dc;<BR>&nbsp;&nbsp;&nbsp;&nbsp;CPrintDialog printDlg(FALSE);<BR>&nbsp;&nbsp;&nbsp;&nbsp;if (printDlg.DoModal() ==IDOK)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dc.Attach (printDlg.GetPrinterDC());<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DOCINFO di;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memset(&di,0,sizeof(DOCINFO));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;di.cbSize =sizeof(DOCINFO);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;di.lpszDocName ="图象打印";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CString filename="MONEY.bmp";<BR>&nbsp;&nbsp;&nbsp;&nbsp; HBITMAP bmp=NULL;<BR>bmp=(HBITMAP)LoadImage(NULL,filename,IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CBitmap bitmap;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bitmap.Attach (bmp);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BOOL bPrintingOK = dc.StartDoc(&di);<BR>&nbsp;&nbsp;&nbsp;&nbsp;CPrintInfo Info;<BR>&nbsp;&nbsp;&nbsp;&nbsp;Info.m_rectDraw.SetRect(0,0, dc.GetDeviceCaps(HORZRES), dc.GetDeviceCaps(VERTRES));<BR>&nbsp;&nbsp;&nbsp;&nbsp;StartPage(dc);<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDC dcMemory;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dcMemory.CreateCompatibleDC(&dc);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dcMemory.SelectObject(bmp);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BITMAP bm;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bitmap.GetBitmap(&bm);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>dc.StretchBlt (0,0,bm.bmWidth,bm.bmHeight,&dcMemory,0,0,32,32,SRCCOPY);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EndPage(dc);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EndDoc(dc);<BR>&nbsp;&nbsp;&nbsp;&nbsp;DeleteDC(dcMemory);<BR>&nbsp;&nbsp; dc.Detach ();<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;DeleteDC(dc);<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:TopLevel 回复日期:2002-09-19 17:00:53
<br>内容:CPrintDialog初始化带参数false时,必须调用CPrintDialog::GetDefaults( );<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>
回复者:wood 回复日期:2002-09-19 17:06:00
<br>内容:我已经有printDlg.GetPrinterDC());了呀!
<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>回复者:TopLevel 回复日期:2002-09-19 17:23:51
<br>内容:首先保证你上面的每步是否成功。<BR>如果没有问题,还是出不来的话;<BR>可能是映射模式的问题,或dc.StretchBlt (0,0,bm.bmWidth,bm.bmHeight,&dcMemory,0,0,32,32,SRCCOPY);<BR>这句话不当。<BR>你可以换成一段文字,测试一下,看是否能出来。<BR>可以用这个试一下。<BR>dc.StretchBlt (0,0,dc.GetDeviceCaps(HORZRES), dc.GetDeviceCaps(VERTRES),&dcMemory,0,0,bm.Width,bm.bmHeight,SRCCOPY);<BR><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 + -