以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 专业报表WIdth值固定,text超长字号能否自动变小? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=64395) |
-- 作者:unverse -- 发布时间:2015/2/12 17:17:00 -- 专业报表WIdth值固定,text超长字号能否自动变小? Dim doc As New PrintDoc \'定义一个报表 Dim rt As New prt.RenderText \'定义一个文本对象 rt.Text = "Hello Foxtable" \'设置文本对象的内容 rt.Style.Borders.All = New prt.Linedef(0.3, Color.Red) \'设置边框 rt.Width=20 doc.Body.Children.Add(rt) \'将文本对象加入到报表 doc.Preview() \'预览 现在 在搞套打,单据上的位置宽度就是20,但有时候TEXT的值会长些,如果长度超过20能不能自动让字体变小?
|
-- 作者:有点甜 -- 发布时间:2015/2/12 17:18:00 -- 不可以,你可以判断字符的长度,对应的设置字体大小。 |
-- 作者:unverse -- 发布时间:2015/2/12 17:24:00 -- 唉。。这个属性应该 有吧,判断太麻烦了,还得数数多少字数设置几号字,固定在代码里,麻烦 。 |
-- 作者:有点甜 -- 发布时间:2015/2/12 17:27:00 -- Dim doc As New PrintDoc \'定义一个报表 Dim g As Graphics = basemainform.CreateGraphics rt.Width=20 |
-- 作者:unverse -- 发布时间:2015/2/12 17:47:00 -- size.width/96*25.4 这个是计算 字符的长度嘛,如果width 的值小于这个数就会打不开是吧, |
-- 作者:有点甜 -- 发布时间:2015/2/12 17:49:00 -- 以下是引用unverse在2015/2/12 17:47:00的发言:
size.width/96*25.4 这个是计算 字符的长度嘛,如果width 的值小于这个数就会打不开是吧,
意思是。你可以设置文本的字体,直至其宽度在某个宽度范围内,即可。 |
-- 作者:有点甜 -- 发布时间:2015/2/12 17:55:00 -- 如
Dim doc As New PrintDoc \'定义一个报表 Dim g As Graphics = basemainform.CreateGraphics size = g.MeasureString(rt.Text, new font(fname, fsize)) rt.Style.Font = new font(fname, fsize) |
-- 作者:freeants -- 发布时间:2016/7/2 21:57:00 -- mark 专业报表字体自动大小 |