以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  专业报表行宽设置  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=87977)

--  作者:kaituozhe
--  发布时间:2016/7/24 8:48:00
--  专业报表行宽设置
设置专业报表的行宽,能否根据内容的需要自动调整,如果小于指定值时按指定值设置行宽,大于指定值时按实际设置行宽,能否做到?
--  作者:大红袍
--  发布时间:2016/7/24 9:42:00
--  

获取字符长度,参考

 

Dim fnt As New Font("宋体",20)
Dim msg As String = "我爱你"
Dim gc = basemainform.CreateGraphics
Dim size = gc.MeasureString(msg, fnt)
msgbox(size.width)


--  作者:kaituozhe
--  发布时间:2016/7/24 15:44:00
--  

我想设置如下代码,但是提示错误,怎么修改?

If val(size) <= 200 Then
 rt.Rows(i+1).Height = 7
    Else
        rt.Rows(i+1).Height = val(size) /100 * 3.5
    End If


--  作者:kaituozhe
--  发布时间:2016/7/24 15:45:00
--  
Dim fnt As New Font("宋体",10)
Dim msg As String = t.rows(i)("待查问题")
Dim gc = basemainform.CreateGraphics
Dim size = gc.MeasureString(msg, fnt)
If val(size) <= 200 Then
 rt.Rows(i+1).Height = 7
   Else
   rt.Rows(i+1).Height = val(size) /100 * 3.5
End If

--  作者:大红袍
--  发布时间:2016/7/24 15:49:00
--  

 提示什么错?


--  作者:kaituozhe
--  发布时间:2016/7/24 15:49:00
--  

解决了

 


--  作者:kaituozhe
--  发布时间:2016/7/24 15:53:00
--  
2楼显示的结果单位是什么,像素还是毫米?
--  作者:大红袍
--  发布时间:2016/7/24 16:26:00
--  

 是像素。

 

像素毫米的关系,DPI一般是96

 

象素数 / DPI = 英寸数
英寸数 * 25.4 = 毫米数