是不是被其它控件挡上了,代码贴出来看看。
解决方案 »
- 串口号不能改变
- 关于移除服务并自动删除该服务对应程序的问题!
- 显示按钮caption
- ActivX不能创建对象rtxserver.rtxobj
- 已知两个二维四边形的四个角的坐标,即知道八个坐标值,如何判断这两个四边形有否相交?
- VB 还能坚持多久,来聊聊罢。
- 倾囊相赠:关于查询网络设备设置详细情况
- VB生成的安装文件.能在英文版的windows2000中安装吗?
- Microsoft Jet 数据库引擎打不开文件''。 它已经被别的用户以独占方式打开,或没有查看数据的权限。
- 关于OLE 容器控件的小问题
- 谁能提供给我有关Hook的教程,高分相送!!!!!
- 远程连锁专卖管理是如何实现的?(网络连接部分)马上给分
Dim length As Single
Dim mydb As Database
Dim MyTable As Recordset
Dim buff As String, bufflen As Integer, delta As Integer, cofline As Integer
Dim midpos(20) As Integer '记录字段内容的居中位置
Dim leftpos(20) As Integer '居左位置
Dim leftpoint As Integer
Dim j As Integer, i As Integer
Dim cpleft(20) As Integer
Dim bufferlen As Integer
Set mydb = OpenDatabase(App.Path & "\" & dbname)Set MyTable = mydb.OpenRecordset(tablename, dbOpenDynaset)With formname
.FontName = "宋体"
.FontSize = 20
.FontBold = True
.FontItalic = False
.FontUnderline = False
.Font.Strikethrough = False
End With
length = formname.TextWidth(tbcaption)
If length >= formname.Width Then
MsgBox "打印机纸张尺寸不够,请更换更宽的纸张!"
Exit Sub
End If '检查纸宽是否够打表头
formname.CurrentX = formname.ScaleWidth / 2 - (formname.TextWidth(tbcaption)) / 2
formname.CurrentY = 10
formname.RightToLeft = False
formname.Print tbcaption '打印表头
formname.Print
formname.CurrentX = 20
formname.Print Date
' formname.Print
Call drawline(formname)bufflen = 0
For i = 1 To prifieldscount
formname.FontSize = 9.4
bufflen = bufflen + formname.TextWidth(prifieldscp(i) & " ") + formname.TextWidth(MyTable.Fields(prifields(i))) + formname.TextWidth(Space(10))
If bufferlen > formname.ScaleWidth Then
formname.Print
End If
formname.Print prifieldscp(i) & " " & MyTable.Fields(prifields(i)); Space(10);
Next i
formname.Print '打印主字段
Call drawline(formname)buff = "" '计算辅助字段布局
bufflen = 0
formname.FontSize = 9.4
cofline = 0
For i = 1 To ofieldscount
cofline = cofline + MyTable.Fields(ofields(i)).Size
Next i
bufflen = formname.TextWidth("p") * coflinedelta = (formname.ScaleWidth - bufflen) / (ofieldscount + 1) '计算辅助字段之间的空间(等间距)
'定位辅助字段
leftpoint = formname.ScaleWidthFor i = ofieldscount To 1 Step -1
leftpoint = leftpoint - delta - formname.TextWidth("p") * MyTable.Fields(ofields(i)).Size
leftpos(i) = leftpoint
Next i '计算辅助字段内容坐上角点的横坐标
'''''''''''''''''''''''''''''''''''''''''''''''
'For i = 1 To ofieldscount
' midpos(i) = leftpos(i) + formname.TextWidth("p") * mytable.Fields(ofields(i)).Size / 2
' cpleft(i) = midpos(i) - formname.TextWidth(ofieldscp(i)) / 2
'Next i '计算辅助字段标题左端坐标
'''''''''''''''''''''''''''''''''''''''字段标题与字段内容左对齐,故取消计算
formname.FontUnderline = True
For i = 1 To ofieldscount
formname.CurrentX = leftpos(i)
formname.Print ofieldscp(i);
Next i
formname.Print '打印辅助字段formname.FontUnderline = False
If MyTable.EOF <> True And MyTable.BOF <> True Then
MyTable.MoveFirst
End IfDo While MyTable.EOF <> True
For i = 1 To ofieldscount
formname.CurrentX = leftpos(i)
formname.Print MyTable.Fields(ofields(i));
Next i
formname.Print '打印字段内容
MyTable.MoveNext
LoopMyTable.Close
mydb.Close
'''试验
formname.Print "fuck you"
'''formname.Show
End Sub
Sub drawline(formname As Form)
Dim buff As String, bufflen As Integer, i As Integer
buff = "-"
bufflen = formname.ScaleWidth / formname.TextWidth(buff)
For i = 1 To bufflen
buff = buff & "-"
Next i
formname.Print buff
'formname.Print '划线
End Sub窗体上没有放任何控件
我來參觀學習
我來參觀學習