Foxtable(狐表)用户栏目专家坐堂 → 还是控件打印问题


  共有1954人关注过本帖树形打印复制链接

主题:还是控件打印问题

帅哥哟,离线,有人找我吗?
douglas738888
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1172 积分:8772 威望:0 精华:0 注册:2012/4/18 16:28:00
还是控件打印问题  发帖心情 Post By:2016/4/12 10:06:00 [只看该作者]

再次请教老师,我在PANEL面板上做电子表格,打印全部控件(包括线条),现在修改了代码参数和设置了控件打印为TRUE,

面板中有加高的备注TEXT、表和BUTTON等控件

现在控件打印还存在button2不显示 和线条打印位置变化的问题,请老师指导指导。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:foxtable项目.rar



 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/12 10:24:00 [只看该作者]

1、按钮本来就是不允许打印的,你改成label吧;

 

2、

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试eee.table

3、只能这样了,无法再修改。


 回到顶部
帅哥哟,离线,有人找我吗?
douglas738888
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1172 积分:8772 威望:0 精华:0 注册:2012/4/18 16:28:00
  发帖心情 Post By:2016/4/12 10:31:00 [只看该作者]

我原来是用LABLE 的,我用e.Form.Controls("Label1").Text = "1" & vbcrlf & "2" & vbcrlf & "3"的形式放在打印按钮CLIK,好像也没显示竖向文字,是否我的代码写的有错

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/12 10:36:00 [只看该作者]

 用label,属性->自动大小->False,然后把宽度高度调整一下,就是竖向的了。

 回到顶部
帅哥哟,离线,有人找我吗?
douglas738888
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1172 积分:8772 威望:0 精华:0 注册:2012/4/18 16:28:00
  发帖心情 Post By:2016/4/12 12:42:00 [只看该作者]

根据老师的指导,LAGEL问题解决了,

现在单页宽度值必须要设置的大在一页上才能正常显示,但是这个电子表格如果画线条,又要考虑某几个TEXTBOX需要多行文本都能在打印时显示出来,其中还要加

入另外一个TABLE表,这样的打印在控件打印上很难实现,主要是线条不会跟随TEXTBOX内容的多少进行向下调整,面板也很难控制在A4幅面的分页打印。


请教老师,这样的电子表格,专业报表能打印面板控件吗?如果要实现在面板控件上的“画线+表格+多行文本内容”的形式,专业报表能实现吗?

另外,面板控件“画线+表格+多行文本内容”能保存为WORD吗?       

这些想法都是想实现对面板控件内的电子表格形式进行打印。

以下打印代码无法实现
e.Form.Page.PaperKind = 9 '纸张类型改为A4
e.Form.Page.LeftMargin = 10 '设置左边距
e.Form.Page.LeftMargin = 10 '设置左边距
e.Form.Page.RightMargin = 10 '设置右边距
e.Form.Page.TopMargin = 20 '设置上边距
e.Form.Page.BottomMargin = 20 '设置下边距
e.Form.Page.Width = 210 '纸张宽度为
e.Form.Page.Height = 350 '纸张高度为
Dim grp As WinForm.Panel = e.Form.Controls("Panel3")
Dim doc As PrintDoc = e.Form.GernatePrintDoc(grp)
For Each c As Object In doc.body.children
    If typeof c Is prt.RenderText Then
        If c.Text.length > 100 Then
            c.height = "auto"
        End If
    End If
Next
doc.Preview()
[此贴子已经被作者于2016/4/12 12:43:58编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/12 12:48:00 [只看该作者]

 直接用表格。去学一下专业报表。

 

http://www.foxtable.com/help/topics/1200.htm

 


 回到顶部