Foxtable(狐表)用户栏目专家坐堂 → [求助]label控件文字方向


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

主题:[求助]label控件文字方向

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


加好友 发短信
等级:幼狐 帖子:165 积分:1431 威望:0 精华:1 注册:2015/12/7 19:14:00
[求助]label控件文字方向  发帖心情 Post By:2016/5/7 20:22:00 [只看该作者]

1 .label控件文字方向怎么设成竖向的。
2.窗口table控件打印列名如何居中,3.如何打印隐藏列。
4.窗口打印被分平分割了。(想实现打印内容随纸张大小缩放。就是窗口适应纸张,不是纸张适应窗口)



[此贴子已经被作者于2016/5/8 10:11:09编辑过]

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


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

1、你可以把label属性自动大小->false,然后把调整宽度和高度即可;

 

你可以用代码赋值,如

 

Dim lbl As WinForm.Label = e.Form.Controls("Label1")
lbl.AutoSize = True
lbl.text = "竖" & vbcrlf & "排"


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


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

2、

 

Dim doc As PrintDoc = e.Form.GernatePrintDoc()
For Each c As Object In doc.body.children
    If typeof c Is prt.RenderText Then
        For i As Integer = 0 To c.Cols.Count - 1 
            c.cols(i).Style.TextAlignHorz = prt.AlignHorzEnum.Center
            c.cols(i).style.TextAlignVert = prt.AlignVertEnum.Center
        Next
    End If
Next
doc.Preview()


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


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

3、打印前,把隐藏列显示出来,打印后,再把列隐藏起来。

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


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


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


加好友 发短信
等级:幼狐 帖子:165 积分:1431 威望:0 精华:1 注册:2015/12/7 19:14:00
  发帖心情 Post By:2016/5/8 12:11:00 [只看该作者]

打印那里,设好窗口宽210,用A4打印。正常。
然后切换纸张少于210的。就被分割了。
想要实现窗口能被宽140~290的纸张打印出来。还不能横向打印,用的是针式打印。

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


加好友 发短信
等级:幼狐 帖子:165 积分:1431 威望:0 精华:1 注册:2015/12/7 19:14:00
  发帖心情 Post By:2016/5/8 13:26:00 [只看该作者]

提示,文本对象没有col的成员。我把对象改成Rendertable,效果出现在表的内容。没有达到表头,也就是 列名 居中的效果。
然后发现。列名好像不属于Rendertable,也不属于Rendertext...




[此贴子已经被作者于2016/5/8 13:34:24编辑过]

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


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

以下是引用poiokm26在2016/5/8 12:11:00的发言:
打印那里,设好窗口宽210,用A4打印。正常。
然后切换纸张少于210的。就被分割了。
想要实现窗口能被宽140~290的纸张打印出来。还不能横向打印,用的是针式打印。

 

看4楼啊,不会做就上传实例说明。


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


加好友 发短信
等级:幼狐 帖子:165 积分:1431 威望:0 精华:1 注册:2015/12/7 19:14:00
  发帖心情 Post By:2016/5/10 23:05:00 [只看该作者]

2、

 

Dim doc As PrintDoc = e.Form.GernatePrintDoc()
For Each c As Object In doc.body.children
    If typeof c Is prt.Rendertable Then

 'c.Rows(0).Style.TextAlignHorz = prt.AlignHorzEnum.Center

'c.Rows(0).style.TextAlignVert = prt.AlignVertEnum.Center

        For i As Integer = 0 To c.Cols.Count - 1 
           c.cols(i).Style.TextAlignHorz = prt.AlignHorzEnum.Center
           c.cols(i).style.TextAlignVert = prt.AlignVertEnum.Center
       Next
    End If
Next
doc.Preview()



老师,cols(i)效果只从第二行开始出现。 换了Rows(0)就没半点反应呢,要怎么样才能现实首行居中呢。 


 c.Rows(0).Style.TextAlignHorz = prt.AlignHorzEnum.Center

c.Rows(0).style.TextAlignVert = prt.AlignVertEnum.Center

[此贴子已经被作者于2016/5/10 23:08:14编辑过]

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


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

Dim doc As PrintDoc = e.Form.GernatePrintDoc()
For Each c As Object In doc.body.children
    If typeof c Is prt.Rendertable Then
        For i As Integer = 0 To c.Cols.Count - 1
           c.cells(0,i).Style.TextAlignHorz = prt.AlignHorzEnum.Center
           c.cells(0,i).style.TextAlignVert = prt.AlignVertEnum.Center
       Next
    End If
Next
doc.Preview()

 回到顶部