Foxtable(狐表)用户栏目专家坐堂 → [求助]能否让打印预览容器内的控件位置自动缩放到纸张的大小匹配?


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

主题:[求助]能否让打印预览容器内的控件位置自动缩放到纸张的大小匹配?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/13 19:24:00 [显示全部帖子]

 你的这个问题,需要用到专业报表去打印。

 

 或者是用代码对窗口doc对象的位置进行重新的定位,才能把控件打印到对应的位置的。

 

 建议还是用专业报表去做:http://www.foxtable.com/help/topics/1166.htm

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/13 20:47:00 [显示全部帖子]

 弄了一下,如下代码

 

Dim tb As WinForm.TabControl = e.Form.Controls("TabControl1")
Dim pan As WinForm.Panel = e.Form.Controls("Panel1")

Dim doc As new PrintDoc

Doc.PageSetting.Width=180
Doc.PageSetting.Height=100
Doc.PageSetting.TopMargin=10
Doc.PageSetting.BottomMargin=0
Doc.PageSetting.LeftMargin=10
Doc.PageSetting.RightMargin=10

Dim wbl As Double = Doc.PageSetting.Width.value / pan.Width
Dim hbl As Double = Doc.PageSetting.Height.value / pan.Height
For Each c As object In pan.Children
    Dim rt As new prt.RenderText
    rt.Text = c.text
    rt.x =  new C1.C1Preview.Unit(CStr(c.left * wbl))
    rt.y = new C1.C1Preview.Unit(CStr(c.Top * hbl))
    Doc.Body.Children.Add(rt)
Next

doc.Preview()


 回到顶部