社区
VB基础类
帖子详情
求助:如何打印MSFlexGrid中的数据?
chuchu
2001-06-27 10:54:39
MSFlexGrid中数据由手工添加(不是从数据库取的),如何用报表设计器将数据打印出来。
...全文
159
12
打赏
收藏
求助:如何打印MSFlexGrid中的数据?
MSFlexGrid中数据由手工添加(不是从数据库取的),如何用报表设计器将数据打印出来。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
woosilence
2001-11-20
打赏
举报
回复
upup
Richard2001
2001-11-20
打赏
举报
回复
可以做个简单的预览和打印功能:
你在Form中间加一个PictureBox,设Appearance=0,大小比例与一张打印纸相似。
再加两个按钮:“预览“(Preview)和“打印“(Print)按钮。
Sub SetData(obj As Object)
If TypeOf obj Is Picture Then
obj.Cls
End If
On Error GoTo exit_data
Dim CX, CY, i, curY, curX
Dim StepRow, lColor, adjRowHeight, iBottomRight
lColor = obj.ForeColor
'首行显示公司名称
CX = 4
obj.Font.Bold = False
obj.Font.Size = 9
obj.CurrentY = CX
obj.CurrentX = obj.Width / 2 - obj.TextWidth("地球")
'obj.ForeColor = RGB(256, 0, 0)
obj.Print "地球公司"
StepRow = obj.TextHeight("A")
'标题
CX = CX + StepRow
obj.Font.Bold = True
obj.Font.Size = 2 * 9
obj.CurrentY = CX
obj.CurrentX = obj.Width / 2 - obj.TextWidth("存款")
obj.ForeColor = RGB(256, 0, 0) '红色
obj.Print "存款单据"
StepRow = obj.TextHeight("A")
'首部信息第一行
obj.ForeColor = lColor '恢复
CX = CX + StepRow
obj.Font.Bold = False
obj.Font.Size = 9
obj.CurrentY = CX: obj.CurrentX = 150
obj.Print "左"
obj.CurrentY = CX: obj.CurrentX = obj.Width / 2 - obj.TextWidth("中") / 2
obj.Print "中"
obj.CurrentY = CX: obj.CurrentX = obj.ScaleWidth - 150 - obj.TextWidth("右")
obj.Print "右"
'=================画行线=================
curY = CX + StepRow: curX = 150
For i = 1 To 5
If i = 1 Then
obj.DrawWidth = 2
Else
obj.DrawWidth = 1
End If
obj.Line (curX, curY)-(obj.ScaleWidth - 150, curY)
iBottomRight = curY
'~~~~~
adjRowHeight = obj.TextHeight("A") + 3
curY = curY + adjRowHeight + 4
Next
'=============画竖线=================
curY = CX + StepRow: curX = 150
For i = 1 To 2
obj.DrawWidth = 1
obj.Line (curX, curY)-(curX, iBottomRight)
curX = curX + obj.Width / 2 - obj.TextWidth("中") / 2
Next
obj.Line (obj.ScaleWidth - 150, curY)-(obj.ScaleWidth - 150, iBottomRight)
'==============打印数据:可从MSFlexGrid中来==================
Dim str
str = "打印数据"
curY = CX + StepRow + ((adjRowHeight + 4) / 2) - obj.TextHeight("A") / 2
curX = (150 + obj.Width / 2) / 2 - obj.TextWidth(str) / 2
obj.CurrentY = curY
obj.CurrentX = curX
obj.Print str
'...
Exit Sub
exit_data:
MsgBox Error
Exit Sub
End Sub
Private Sub Preview_Click()
SetData Pic
End Sub
Private Sub Print_Click()
SetData Printer
Printer.EndDoc
End Sub
chuchu
2001-06-28
打赏
举报
回复
呵呵,找到一个深圳精诺威打印控件,感觉很不错,比报表设计器好多了。需要的话发封Mail给我。
miss_you@263.net
everyask
2001-06-27
打赏
举报
回复
printer.paintpicture msflexgrid1.picture,1000,1000
everyask
2001-06-27
打赏
举报
回复
报表题目可以用printer对象打印出来啊。
如果你不想直接打印,可以使用picturebox做预览。
语句是一样的,只是printer改为picture1就行了。
sindia
2001-06-27
打赏
举报
回复
不要用报表设计器了,这种东西太烂。不如自己写程序,稍微控制一下就可以了,很简单的。
chuchu
2001-06-27
打赏
举报
回复
如果用printer的话,报表题目就打不出来了。
算了,干脆先写到数据库的表中,再从表中取数据。
mazhayang
2001-06-27
打赏
举报
回复
我有这个控件,你要吗,不过不能预览
MEMPHISTO
2001-06-27
打赏
举报
回复
可以试着将数据导出到Excel打印。
everyask
2001-06-27
打赏
举报
回复
调整底色为单色,然后调整左边线与上边线。
换用mshflexgrid效果会好一些的。
如果要分页,可以用一个不可见的grid做辅助,然后编程控制(要与printer对象结合使用)。
haitaoyu
2001-06-27
打赏
举报
回复
gz
chuchu
2001-06-27
打赏
举报
回复
不行呀,格式不好控制,打出来又不美观。
求助
成绩统计(1。0)
1、在SSTab1控件里的MS
Flex
Grid
1(成绩导入)导入学生成绩(自己已经完成)。 2、在SSTab1控件里的...3、在SSTab1控件里的MS
Flex
Grid
3(成绩统计)
中
根据MS
Flex
Grid
1和MS
Flex
Grid
2的
数据
统计出各班分数段人数。
基础
各位兄弟,在SDK编程
中
如果实现窗口分割呢?请问怎么得到一个函数的执行时间,单位毫秒!如何调试asp组件呀。用vc++调试编制的组件怎样画一个箭头?高分请教如何限制程序运行的方法?
求助
:通过编程DirectX抓屏-----...
vb/vb.net开发精粹(23)
请教字符串
数据
提取思路 请教字符串
数据
提取思路 自定义控件内模块怎么调用子控件? VB模块化“识别
数据
库路径” 为什么我的程序里kill t总是删除不了呢? VB执行SQL语句耗时太久导致程序假死怎么办? 请教...
VB+ADO+Access如何修改
数据
我把用adodc1绑定了表Case,并在窗体
中
用几个Text跟表Case
中
的对应字段相绑定,我现在想直接通过修改Text(i).text来修改
数据
库表Case
中
的记录,问该如何修改,大侠们可否提供一下建议,并帮忙看看我的问题出在哪儿 ...
我在CSDN参与的3000个帖子
怎样把PPT
中
输入的
数据
保存到EXCEL
中
? 84: 象棋游戏的问题 85: VBA不熟悉啊,请问怎么在Excel
中
插入删除行? 86: xp下怎么取得我的文档的路径 87: 有谁知道,关于金山词霸音标的问题? ...
VB基础类
7,763
社区成员
197,605
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章