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

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

问题:

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

解决:

在模块中定义: 


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

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


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

强调:

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

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

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

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

作者其他文章

评论(0

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

    全部回复

    上滑加载中

    设置昵称

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

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

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