字体对象克隆招法,第1张

字体对象克隆招法,第2张

当您想将一个控件的字体应用到另一个控件时,最直接的方法是直接分配它:

设置文本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

字体。克隆克隆

结束功能

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 字体对象克隆招法

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情