【学生】设置MSF控件自动调整列宽

举报
Laura_张 发表于 2022/08/27 01:04:08 2022/08/27
【摘要】 问题: 在查询记录的窗体用到了MSFlexGrid控件,但是有的记录字数太多,被控件给“吞”了,这个时候可以设置自动调整列宽。 解决: 在模块中定义:  Public Sub AdjustColWidth(frmCur As Form, gridCur As Object, Optional bNullRow As...

问题:

在查询记录的窗体用到了MSFlexGrid控件,但是有的记录字数太多,被控件给“吞”了,这个时候可以设置自动调整列宽。

解决:

在模块中定义: 


  
  1. Public Sub AdjustColWidth(frmCur As Form, gridCur As Object, Optional bNullRow As Boolean = True, Optional dblIncWidth As Double = 0)
  2. '功能:
  3. ' 自动调整Grid各列列宽为最合适的宽度
  4. '参数:
  5. '..................[frmCur] 为当前工作窗体
  6. '..................[gridCur]为当前要调整的Grid
  7. '定义参数:
  8. Dim i, j As Integer
  9. Dim dblwidth As Double
  10. With gridCur
  11. For i = 0 To .Cols - 1
  12. dblwidth = 0
  13. If .ColWidth(i) <> 0 Then
  14. For j = 0 To .Rows - 1
  15. If frmCur.TextWidth(.TextMatrix(j, i)) > dbwidth Then
  16. dblwidth = frmCur.TextWidth(.TextMatrix(j, i))
  17. End If
  18. Next
  19. .ColWidth(i) = dblwidth + dblIncWidth + 1700 '此处1700数值可以根据自己表格界面的情况更改
  20. End If
  21. Next
  22. End With
  23. End Sub

 然后在查询窗体进行调用:


  
  1. Private Sub Form_Load() '如:收取金额窗体调用
  2. AdjustColWidth frmaskcollectcash, MyFlexGrid
  3. End Sub

强调:

调用过程中的窗体名称和控件名称要与你自己的命名一致。

文章来源: blog.csdn.net,作者:张艳伟_Laura,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/Laura__zhang/article/details/99770119

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。