?? 991208.html
字號:
實例1:文字串定位折行打印在口岸聯(lián)檢部門中應(yīng)用非常廣泛。下述例子是用CmdPrnt1的Click事件代碼實現(xiàn)了對文字串定位折行打印: <PRE>Private Sub CmdPrnt1_Click()
Dim str As String, str1 As String ,txt As String
Dim strx As Integer, stry As Integer,i As Integer
strx = 200
stry = 0
txt = Space(20) + "中國出入境檢驗檢疫標準目錄檢索STEMS 2000"
Printer.FontName = "黑體"
dd = prnt11(strx, stry, 10, txt, 50)
stry = stry + rowlab * 240
Printer.Line (0, stry)-(9000, stry)
Printer.FontName = "宋體"
txt = "標準號:" + Space(2) + Trim(Text1) + Space(3) +
"發(fā)布日期:" + Trim(Text4) + Space(3) + "實施日期:"
+ Trim(Text6) + Space(3) + "修定日期:" + Trim(Text5) '+ Chr(13)
stry = stry + 240
dd = prnt11(strx, stry, 10, txt, 70)
stry = stry + rowlab * 240
txt = "代替標準:"
dd = prnt11(strx, stry, 10, txt, 10)
dd = prnt11(strx + 1000, stry, 10, Trim(Text7), 60)
stry = stry + rowlab * 240
txt = "標準名稱:"
dd = prnt11(strx, stry, 10, txt, 10)
dd = prnt11(strx + 1000, stry, 10, Trim(Text4), 38)
stry = stry + rowlab * 240
txt = "英文名稱:"
dd = prnt11(strx, stry, 10, txt, 10)
dd = prnt11(strx + 1000, stry, 10, Text5, 72)
Printer.EndDoc
End Sub
</PRE>
<P class=sfont><FONT color=#ffffff>----</FONT> 注: Prnt11函數(shù)原形:prnt11(X As
Integer, Y As Integer, Font As Single, Txt As String, Val As
Integer),其各參數(shù)含義如下:
<P class=sfont><FONT color=#ffffff>----</FONT> X、Y為待打印字符串左上角起始座標;
<P class=sfont><FONT color=#ffffff>----</FONT> Font為字體大小;
<P class=sfont><FONT color=#ffffff>----</FONT> Txt為待打印字符串;
<P class=sfont><FONT color=#ffffff>----</FONT> Val為字符串打印折行長度。
<P class=sfont><FONT color=#ffffff>----</FONT>
實例2:直接打印表格式窗體顯示的多記錄多字段,往往因某些字段的字節(jié)太多而造成紙張寬度不足。以下CmdPrnt2的Click事件中的代碼,實現(xiàn)了對上述MSFGrid1表格記錄的打印:
<PRE>Private Sub CmdPrnt2_Click()
Dim fnt As Single
Dim pp As Integer
Dim stry As Integer, strx As Integer
Dim stry1 As Integer,
strx1 As Integer, linw As Integer
Dim page1 As Integer, p As Integer,
gridrow As Integer, ii As Integer
p = 0
ii = 1 'ii記錄MSFGRID1表格同一記錄內(nèi)字段最大打印行
pp = 0 '開始頁碼
ss$ = "中國出入境檢驗檢疫標準目錄檢索STEMS 2000" ' 表頭
Static a(4) As Integer
kan = 0
a(2) = 1680
a(3) = 2800
a(4) = 5300
page1 = 46 '定義每頁行數(shù)
strx = 200
strx1 = 200
stry = 1400
stry1 = 1400
linw = 240 '定義行寬
fnt = 10 '定義字體大小
For i = 2 To 4
kan = kan + a(i)
Next
gridrow = Datdatact1.Recordset.RecordCount
If gridrow = 0 Then
MsgBox "無滿足條件記錄打印!"
Exit Sub
End If
Printer.FontName = "黑體"
dd = prnt11(3300, 700, fnt, ss$, 26) '打印標題
dd = prnt11(500, stry - 250, fnt, "標準號", 26)
dd = prnt11(2690, stry - 250, fnt, "標準名稱", 26)
dd = prnt11(6690, stry - 250, fnt, "英文名稱", 26)
Printer.Line (strx - 20, stry - 30)-(10460, stry - 30)
Printer.FontName = "宋體"
For j = 1 To gridrow '打印gridrow條記錄
MSFGrid1.Row = j
strx = strx1
For i = 2 To 4 '假設(shè)只打印2-3 列
MSFGrid1.Col = i
dd = prnt11(strx, stry, fnt,
MSFGrid1.Text, IIf(i = 3, 13, 55))
If ii < rowlab Then
'ii記錄同一記錄內(nèi)字段最大打印行
ii = rowlab
End If
strx = strx + a(i)
Next
p = p + ii
rowlab = ii
ii = 1 '重新初始化
If p > page1 Then
p = 0
strx = strx1
For n = 2 To 4
strx = strx + a(n)
Next
pp = pp + 1
stry = stry + rowlab * linw
foot$ = "第" + CStr(pp) + "頁"
dd = prnt11(strx / 2, stry + 3 * linw, 10, foot$, 26)
stry = stry1
Printer.NewPage
Printer.FontName = "黑體"
dd = prnt11(3300, 700, fnt, ss$, 26)
dd = prnt11(500, stry - 250, fnt, "標準號", 26)
dd = prnt11(2690, stry - 250, fnt, "標準名稱", 26)
dd = prnt11(6690, stry - 250, fnt, "英文名稱", 26)
Printer.Line (-20, stry - 30)-(10460, stry - 30)
'打印起始線
Printer.FontName = "宋體"
strx = strx1
Else
stry = stry + rowlab * linw
End If
Next
If p < page1 Then
For p = 0 To page1 + 1
strx = strx1
Next
End If
strx = strx1
For n = 2 To 4
strx = strx + a(n)
Next
pp = pp + 1
foot$ = "第" + CStr(pp) + "頁"
dd = prnt11(strx / 2, stry + 3 * linw, 10, foot$, 26)
Printer.EndDoc
End Sub
</PRE>
<P class=sfont><FONT color=#ffffff>----</FONT>
以上程序在簡體中文Windows98、VB5.0環(huán)境中調(diào)試通過。
<P align=center><A
href="http://www.pconline.com.cn/experience/subject/VB/index.html">[返回]</A>
<!-- #EndEditable --></P></TD></TR></TBODY></TABLE>
<TABLE align=center border=0 cellPadding=0 cellSpacing=0 width=760>
<TBODY>
<TR>
<TD bgColor=#666666 width=1><IMG height=1 src="991208.files/blank.gif"
width=1></TD>
<TD align=right vAlign=bottom width=170><IMG height=10
src="991208.files/blank.gif" width=170><BR></TD>
<TD bgColor=#666666 width=1><IMG height=1 src="991208.files/blank.gif"
width=1></TD>
<TD width=21><IMG height=1 src="991208.files/blank.gif" width=21></TD>
<TD bgColor=#eeeeee width=566><IMG height=10 src="991208.files/blank.gif"
width=566><BR>版權(quán)所有©1999 太平洋電腦信息網(wǎng)<BR><FONT
face="Arial, Helvetica, sans-serif"><A
href="mailto:exp@pconline.com.cn">exp@pconline.com.cn</A></FONT> <IMG
height=1 src="991208.files/hhvisit.html" width=1>
<SCRIPT>document.write("<a href=http://best.netease.com/cgi-bin/view/viewbasic.cgi?exp target=_blank><img src=http://best.netease.com/cgi-bin/log.cgi?user=exp&refer="+escape(document.referrer)+"&cur="+escape(document.URL)+" border=0 alt='網(wǎng)易中文排行榜' width=1 height=1></a>");</SCRIPT>
<SCRIPT language="">document.write("<a href=http://best.netease.com/cgi-bin/view/viewbasic.cgi?pconline1 target=_blank><img src=http://best.netease.com/cgi-bin/log.cgi?user=pconline1&refer="+escape(document.referrer)+"&cur="+escape(document.URL)+" border=0 width=1 height=1 ></a>");</SCRIPT>
</TD></TR></TBODY></TABLE><!-- #EndTemplate --></BODY></HTML>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -