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

📄 subject_27535.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:27535 发表者:不败的石头 发表日期:2003-01-13 11:08:56
<br>主题:求救:如何让背景位图随窗口大小缩放
<br>内容:我载入了背景位图后,发现背景位图不能随窗口大小缩放,总是留下空白区,如何解决啊..........总不能采用限定窗口大小这样极端的方法吧<BR>My Source:<BR>BOOL CMyView::OnEraseBkgnd(CDC* pDC) <BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;// TODO: Add your message handler code here and/or call default<BR><BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;CRect rect; <BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;CDC memDC; <BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;CBitmap cBitmap; <BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;CBitmap* pOldMemBmp = NULL; <BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;GetWindowRect(&amp;rect); <BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;cBitmap.LoadBitmap(IDB_BACKBMP); <BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;memDC.CreateCompatibleDC(pDC); <BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;pOldMemBmp = memDC.SelectObject(&amp;cBitmap); <BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR> <BR>&nbsp;&nbsp;&nbsp;&nbsp;pDC-&gt;BitBlt(0, 0, rect.Width(), rect.Height(),&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;memDC, 0, 0, SRCCOPY); <BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;if (pOldMemBmp) memDC.SelectObject( pOldMemBmp ); <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;if(cBitmap.m_hObject!=NULL)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return TRUE;<BR>&nbsp;&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return CView::OnEraseBkgnd(pDC);<BR>}
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:mm2003 回复日期:2003-01-13 11:10:59
<br>内容:用GETCLIENTRECT()
<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-01-13 11:20:52
<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>回复者:爱丽思 回复日期:2003-01-13 11:30:20
<br>内容:用StretchBlt可以缩放的,BitBlt是不能缩放的
<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-01-13 11:42:07
<br>内容:StretchBlt确实能解决!thanks!再多问一点,应该怎样设置<BR><BR>pDC-&gt;StretchBlt(0, 0, rect.Width(), rect.Height(), &amp;memDC, 0, 0,A,B,SRCCOPY);<BR><BR>里面的A,B,才能让窗口正好放下整幅位图呢 
<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-01-13 11:47:07
<br>内容:谢谢大家,我自己解决了<BR>BITMAP bkm;<BR>cBitmap.GetObject(sizeof(bkm),&amp;bkm);<BR>pDC-&gt;StretchBlt(0, 0, rect.Width(), rect.Height(), &amp;memDC,0, 0,bkm.bmWidth,bkm.bmHeight,SRCCOPY); <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 + -