You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

动态生成的表单控件如何正确设置Wingdings 2等特殊字体?

解决方法

核心修正逻辑

动态生成ActiveX/Forms控件时,需先设置字体相关属性,再赋值文本内容,避免内容先按默认字体渲染后,字体修改未触发界面重绘。你当前代码同时设置了顶层FontName和Font.Name属性,也可能产生属性冲突。

修正后代码

Set obj = Me.DataSetAuthor.Controls.Add("Forms.Label.1", fld)
With obj
    .Top = top
    .Left = 5000
    .Width = 25 ' 适当加宽避免图标被截断
    .Height = 18
    .ControlTipText = "search " & heading
    ' 优先完成字体配置
    With .Font
        .Name = "Wingdings 2"
        .Size = 16
    End With
    ' 字体配置完成后再设置Caption
    .Caption = "U"
    ' 强制控件重绘刷新显示效果
    .Repaint
End With

额外排查点

  • 确认当前系统已安装Wingdings 2字体,该字体为Office默认预装字体,精简版Office可能缺失
  • 若仍显示异常,可将控件的BackColor属性设为和背景一致,避免透明样式影响字体渲染

内容的提问来源于stack exchange,提问作者Bill Early

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 15:45:00