字体对象克隆招法
当您想将一个控件的字体应用到另一个控件时,最直接的方法是直接分配它:
设置文本2。Font = Text1。字体
但在大多数情况下,这种方法是行不通的,因为它实际上是将同一字体的引用赋给了两个控件。换句话说,当其中一个控件的字体随后被修改时,另一个控件也会受到影响。因此,要实现我们的目标,我们需要做的就是克隆字体对象,并将其分配给所需的控件。
克隆字体最简单的方法是手动复制所有单独的字体属性,如下所示:
函数CloneFont(字体为标准字体)为标准字体
Set CloneFont = New StdFont
克隆丰。名称=字体。名字
克隆丰。大小=字体。大小
克隆丰。粗体=字体。大胆的
克隆丰。斜体=字体。意大利语族的
克隆丰。下划线=字体。强调
克隆丰。删除线=字体。删除线
结束功能
“函数”的应用
设置文本2。Font = CloneFont(Text1。字体)
如果使用VB6,可以通过使用PropertyBag对象快速复制所有字体属性,代码会比较简洁,速度会快2倍:
函数CloneFont(字体为标准字体)为标准字体
Dim PB作为新的属性包
将字体复制到PropertyBag对象
pb。WriteProperty“字体”,字体
将字体对象还原到新控件。
设置CloneFont = pb。ReadProperty("Font ")
结束功能
但是我们可以通过使用所有StdFont对象都可以识别的隐藏IFont接口来进一步优化代码。这个接口有一个克隆方法,用它我们可以准确的达到我们的目的。它以一种异常的方式执行:创建一个克隆字体对象,然后返回相应的引用。这可能是最简洁的用于克隆目的的代码,执行速度是这里列出的三种方法中最快的,比使用PropertyBag对象的方法快3倍左右。看一下具体代码:
函数clone Font(Font As IFont)As STD Font
字体。克隆克隆
结束功能
位律师回复
0条评论