access最大字号限制_根据ACCESS窗体控件文字多少动态调整控件字体大小

根据ACCESS窗体控件文字多少动态调整控件字体大小

我们在使用EXCELL时,能够使用“设置单元格格式”|“对齐”|“文本控制”,对文本框在预定义字体大小下不能显示所有文字时,有“缩小字体填充”选项,缩小字体后,文字就会全部显示。ACCESS 窗体能否实现动态“缩小字体以显示所有文字”功能呢?

网上有介绍ACCESS报表实现“缩小字体以显示所有文字”的功能:是通过主体格式化事件实现的。代码如下:

Option Compare Database

Option Explicit

F As Integer '字体大小

Private Sub Report_Load()

F = Me.Address.FontSize '在启动时先将需要改变的控件的正常字体保存起来

’这里假定Address是我们要动态调整字体大小的控件

End Sub

’然后在在报表主体格式化事件中对控件进行格式化

Private Sub 主体_Format(Cancel As Integer, FormatCount As Integer)

Dim cW As Double

Me.Address.FontSize = F '每次主体格式化时,先将字体设为正常大小

If Me.Address.Width < Me.TextWidth(Me.Address) Then

cW = (Me.Address.Width - 100) / Me.TextWidth(Me.Address)

Me.Address.FontSize = Int(Me.Address.FontSize * cW)

End If

End Sub

然而,上述代码并不能在窗体中实现。主要因为:一是窗体没有Format事件,二是窗体没有TextWidth方法。因此不能计算控件所有文字的总长度。

其实在窗体中有一个各节有“绘制(PAINT)”事件可以起到同样的作用。在窗体中,窗体节的控件是在“绘制”事件中格式化的。可以按照以下思路,根据显示控件文字多少,动态调整控件(如文本框)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值