Private Sub Form_Load()
LblFontSize = Label1.FontSize '保存标签中原始字体的大小
End Sub
Private Sub Command1_Click() '还原原来字号
Label1.FontSize = LblFontSize '恢复标签中原始字体的大小
End Sub
Sub 设置中文字号(x As Object, 中文字号$)Const ZWFS$ = "初号小初一号小一二号小二三号小三四号小四五号小五六号小六七号八号"
Dim p&: p = InStr(ZWFS, 中文字号)
If (Len(中文字号) = 2) And p And (p Mod 2) Then
x.FontSize = Array(42, 36, 26, 24, 22, 18, 16, 15, 14, 12, 10.5, 9, 7.5, 6.5, 5.5, 5)(p \ 2)
Exit Sub
End If
MsgBox "中文字号 " &中文字号 &" 不存在!", 16, "错误"
End Sub
'测试代码
Private Sub Command1_Click()
设置中文字号 Me, "小四"
Print "这是小四号字"
设置中文字号 Me, "初号"
Print "这是初号字"
End Sub
如果你要用代码修改控件属性,那么你首先要知道这个属性需要的继承类vb6.0我印象不是很清楚了,现在都用.net,不过意思都是一样的
如果vb6.0中确实可以使用FontSize赋值改变大小的话,也应该是浮点模式,你可以试试Single,或者公式用30.0 / 2.0
不过还是把这个的方法给你(MSDN的原话)
给继承者的说明 在派生类中重写 Font 属性时,请使用基类的 Font 属性来扩展基实现。否则,您必须提供所有实现。不需要同时重写 Font 属性的 get 和 set 访问器;如果需要,可以只重写其中一个访问器。
意思就是如果你要改控件的Font属性,需要赋值一个Font基类
即
Object.Font = Font( ... )
当然6.0中,你给出的代码很有可能可以运行,不过按你所说的字体缩小一半,30缩小一半到15可能还能显示,但是15再缩小一半7.5估计就没法显示了
参考:http://msdn.microsoft.com/zh-cn/library/3essdeyy(VS.80).aspx
(地址需要全靠,包括后面一直到aspx)
' Visual Basic 6.0
' Set font properties directly on the control.
Label1.FontBold = True
' Create a stdFont object.
Dim f As New stdFont
' Set the stdFont object to the Arial font.
f.Name = "Arial"
' Assign the stdFont to the control's font property.
Set Label1.Font = f
' You can still change properties at run time.
Label1.FontBold = True
Label1.FontItalic = True
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)