📄 01_9_17_24.asp.html
字号:
for (i=0;i<4;i++)</td></tr></table><table width=100% ><tr><td class=a14>
{</td></tr></table><table width=100% ><tr><td class=a14>
r.right=r.left+nColumnWidth[i];</td></tr></table><table width=100% ><tr><td class=a14>
pDC_>ExtTextOut(r.left,r.top,ETO_CLIPPED,</td></tr></table><table width=100% ><tr><td class=a14>
&r,ColumnName[i],NULL);</td></tr></table><table width=100% ><tr><td class=a14>
r.left=r.right;</td></tr></table><table width=100% ><tr><td class=a14>
}</td></tr></table><table width=100% ><tr><td class=a14>
r.top_=nheight;</td></tr></table><table width=100% ><tr><td class=a14>
r.bottom_=nheight;</td></tr></table><table width=100% ><tr><td class=a14>
</td></tr></table><table width=100% ><tr><td class=a14>
//print next 20 student records</td></tr></table><table width=100% ><tr><td class=a14>
for (j=0;j<5;j++)</td></tr></table><table width=100% ><tr><td class=a14>
{</td></tr></table><table width=100% ><tr><td class=a14>
r.right=r.left=720;</td></tr></table><table width=100% ><tr><td class=a14>
for (i=0;i<4;i++)</td></tr></table><table width=100% ><tr><td class=a14>
{</td></tr></table><table width=100% ><tr><td class=a14>
r.right=r.left+nColumnWidth[i];</td></tr></table><table width=100% ><tr><td class=a14>
pDC_>ExtTextOut(r.left,r.top,ETO_CLIPPED,&r,</td></tr></table><table width=100% ><tr><td class=a14>
CString(V_BSTRT(&(StuRecSet_>GetFieldValue(i)))),</td></tr></table><table width=100% ><tr><td class=a14>
NULL);</td></tr></table><table width=100% ><tr><td class=a14>
r.left=r.right;</td></tr></table><table width=100% ><tr><td class=a14>
}</td></tr></table><table width=100% ><tr><td class=a14>
</td></tr></table><table width=100% ><tr><td class=a14>
//set for next record printing</td></tr></table><table width=100% ><tr><td class=a14>
r.top_=nheight;</td></tr></table><table width=100% ><tr><td class=a14>
r.bottom_=nheight;</td></tr></table><table width=100% ><tr><td class=a14>
StuRecSet_>MoveNext();</td></tr></table><table width=100% ><tr><td class=a14>
if (StuRecSet_>IsEOF())</td></tr></table><table width=100% ><tr><td class=a14>
{</td></tr></table><table width=100% ><tr><td class=a14>
m_bPrintEnd=true;</td></tr></table><table width=100% ><tr><td class=a14>
break;</td></tr></table><table width=100% ><tr><td class=a14>
}</td></tr></table><table width=100% ><tr><td class=a14>
}</td></tr></table><table width=100% ><tr><td class=a14>
CScrollView::OnPrint(pDC, pInfo);</td></tr></table><table width=100% ><tr><td class=a14>
}</td></tr></table><table width=100% ><tr><td class=a14>
</td></tr></table><table width=100% ><tr><td class=a14>
pDC_>SetMapMode(MM_TWIPS);</td></tr></table><table width=100% ><tr><td class=a14>
pDC_>GetTextMetrics(&tm);</td></tr></table><table width=100% ><tr><td class=a14>
nheight=tm.tmHeight+tm.tmExternalLeading;</td></tr></table><table width=100% ><tr><td class=a14>
</td></tr></table><table width=100% ><tr><td class=a14>
这几句语句的作用是设置输出的映射方式,然后获取有关文本输出的一些参数,以便后面进行计算输出。</td></tr></table><table width=100% ><tr><td class=a14>
//print the column headers</td></tr></table><table width=100% ><tr><td class=a14>
for (i=0;i<4;i++)</td></tr></table><table width=100% ><tr><td class=a14>
{</td></tr></table><table width=100% ><tr><td class=a14>
r.right=r.left+nColumnWidth[i];</td></tr></table><table width=100% ><tr><td class=a14>
pDC_>ExtTextOut(r.left,r.top,ETO_CLIPPED,</td></tr></table><table width=100% ><tr><td class=a14>
&r,ColumnName[i],NULL);</td></tr></table><table width=100% ><tr><td class=a14>
r.left=r.right;</td></tr></table><table width=100% ><tr><td class=a14>
}</td></tr></table><table width=100% ><tr><td class=a14>
以上这几句是在每一页上打印记录各个域的名称,以便下面输出各条记录。</td></tr></table><table width=100% ><tr><td class=a14>
接下来就应该是输出五条记录(如果还有五条的话),它被包含在for(j=0;j<5;j++) 这个循环中。</td></tr></table><table width=100% ><tr><td class=a14>
for (i=0;i<4;i++)</td></tr></table><table width=100% ><tr><td class=a14>
{</td></tr></table><table width=100% ><tr><td class=a14>
r.right=r.left+nColumnWidth[i];</td></tr></table><table width=100% ><tr><td class=a14>
pDC_>ExtTextOut(r.left,r.top,</td></tr></table><table width=100% ><tr><td class=a14>
ETO_CLIPPED,&r, </td></tr></table><table width=100% ><tr><td class=a14>
CString(V_BSTRT(&(StuRecSet_>GetFieldValue(i)))),NULL);</td></tr></table><table width=100% ><tr><td class=a14>
r.left=r.right;</td></tr></table><table width=100% ><tr><td class=a14>
}</td></tr></table><table width=100% ><tr><td class=a14>
这个for 循环是嵌在前面那个循环之中的,它负责将一条记录的每个域(共 4个)输出在某一行上。</td></tr></table><table width=100% ><tr><td class=a14>
StuRecSet_>MoveNext();</td></tr></table><table width=100% ><tr><td class=a14>
if (StuRecSet_>IsEOF())</td></tr></table><table width=100% ><tr><td class=a14>
{</td></tr></table><table width=100% ><tr><td class=a14>
m_bPrintEnd=true;</td></tr></table><table width=100% ><tr><td class=a14>
break;</td></tr></table><table width=100% ><tr><td class=a14>
}</td></tr></table><table width=100% ><tr><td class=a14>
然后移向数据库的下一条记录,并判断是否已到了数据库中最后一条记录,如是,则跳出循环,并置m_bPrintEnd为true,以便下一次在OnPrepareDC 中能正确地结束打印。</td></tr></table><table width=100% ><tr><td class=a14>
在我们给出的这个例子中,还是简化了很多的考虑的,特别是在拆页的计算上,我们简单地指定每五条记录一页,而一个真正的实用程序肯定是要通过获知纸张的大小(这可以通过CDC类的GetDeviceCaps来进行),然后计算得出一页上可以输出多少条记录。</td></tr>
</table><br>
<style>.a1{font-size:1}</style>
<table width=100% ><tr><td align=right>(网页编辑:<a href='mailto:liu_yang@ccw.com.cn'>风之翼</a>)</td></tr></table>
</td><td class=a1 bgcolor=#f46240> </td>
<td valign=top width=138 align=right><table width=98% ><tr><td>
<form action='/app/gsearch1.asp' name=pdn><table width=100% ><tr><td>应用与方案
频道全文检索</td></tr>
<tr><td><input type="text" name="textfile" size=15 value=频道内检索 onfocus="this.value=''">
<input border=0 src="../../../../../images/jian.gif" name="I1" type="image" align=absmiddle>
</td></tr>
</table>
</form>
<form name=srch action="/search/which.asp" method=post onsubmit="JavaScript:return chk()">
<table width=100% >
<tr><td><select size="1" name="func">
<option selected value="2">主题检索</option>
<option value="1">周报全文检索</option>
<option value="3">模糊词检索</option>
</select></td></tr>
<tr><td><input type="text" name="SrchStr" size=15 value="输入待检索的词"
onfocus="this.value=''">
<input src="../../../../../images/jian.gif" name="I1" type="image" align="absMiddle" border=0>
</td></tr>
</table>
<script language="JavaScript">
function chk()
{if (!document.srch.SrchStr.value){
alert("请输入需检索的词!");
document.srch.SrchStr.focus();
return false;
}
else{if (document.srch.SrchStr.value.length>30){
alert("检索的词请不要超过30个字符!");
document.srch.SrchStr.focus();
return false;
}
}
}
</script></form>
<table width=100% ><tr><td class=f colspan=2><b>相关文章</b></td></tr>
<tr><td valign=top><IMG SRC=../../../../../img2/jiao.gif></td><td><a href='01_9_17_23.asp.html'>3.5.3 打印工作的开始和结束</a></td></tr>
<tr><td valign=top><IMG SRC=../../../../../img2/jiao.gif></td><td><a href='01_9_17_22.asp.html'>3.5.2 打印分页</a></td></tr>
<tr><td valign=top><IMG SRC=../../../../../img2/jiao.gif></td><td><a href='01_9_17_21.asp.html'>3.5.1 打印和显示</a></td></tr>
<tr><td valign=top><IMG SRC=../../../../../img2/jiao.gif></td><td><a href='01_9_17_20.asp.html'>3.4.2 使用MFC实现DAO技术</a></td></tr>
<tr><td valign=top><IMG SRC=../../../../../img2/jiao.gif></td><td><a href='01_9_17_19.asp.html'>3.4.1 DAO与ODBC</a></td></tr>
</table>
</td></tr></table></td></tr></table><br>
<table align=center width=680><tr><td align=right>
<form name=mail method=post action='/pub/subMail.asp' onsubmit='JavaScript: return chkField(this)'>
<INPUT type='hidden' name='rec' value='24324'>
您的姓名:<INPUT type="text" name=myName size=10>
您朋友的E-mail:<INPUT type="text" name=friendMail size=10>
<INPUT type="submit" value="推荐给好友">
</form>
</td></tr>
<tr><td align=right>
<b>[<a href="javascript:window.close()">关闭窗口</a>]</b>
</td></tr>
</table>
<script language="javascript">
function chkField(fmObj)
{if (!fmObj.friendMail.value){
alert("请输入您朋友的E-mail!");
fmObj.friendMail.focus();
return false;
}
return true;
}
</script>
<table align=center width=680>
<tr><td><hr size=1 width=660 color=#f46240></td></tr>
</table><br>
<p align=center>Copyright(C) ccw.com.cn,All rights reserved</p>
<p align=center><b>中国计算机世界出版服务公司版权所有</b></p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -