字体改变事件
利用下面这个小程序,你就可以跟踪窗体或窗体中控件的字体变化,从而产生相应的事件对这一改变作出反应。首先你必须确认在工程中添加了对OLE Automation的引用。
在窗体的声明段中写入下面的代码
Private WithEvents fntAny As StdFont
Private Sub fntAny_FontChanged(ByVal PropertyName As String)
Select Case PropertyName
Case "Name"
注释:如果改变了字体名称,程序做什么?
Case "Size"
注释:如果改变了字体大小,程序做什么?
Case "Italic"
注释: 字体变成了斜体,程序做什么?
Case "Bold"
注释:字体变成了粗体,程序做什么?
Case "Underline"
注释: 字体加上了下划线,程序做什么?
注释: 以此类推,你可以针对字体的每一个属性编写相应的代码
End Select
End Sub
为了跟踪字体的改变,你还需要将对任何窗体或控件中的字体的引用指向fntAny.例如,为了跟踪窗体字体的改变,可将下面的代码加入窗体的Load事件中:
Set fntAny = Me.Font
如果是控件,就用Control.Font
请注意:经测试,这个程序有个严重的Bug。那就是无论所跟踪的窗体或控件的字体是否变化,都会触发该事件。例如,在一个窗体的Load事件中加入set fntAny=Me.Font,然后在Click事件中加入Me.Font=16,只要你点击了窗体都会触发该事件。