如何在vba中修改TextOut函数所用的字体?

如何在vba中用GDI在屏幕上写字?一文和如何在vba中修改TextOut函数所用字体的颜色? 一文中我们分别介绍了如何在屏幕上用TextOut函数写字,以及如何修改用TextOut函数写字时所用的字体颜色。

但是光以上两点还不能满足所有需求,我们往往还希望可以调整字体的大小和选择显示的字体等各种与字体相关的属性。

这时候可以使用如下的步骤:

1.用CreateFont函数或者CreateFontIndirect函数创建一个需要使用的字体,设置该字体的各种属性。

2.用SelectObject函数将该字体添加到DC中,这样凡是与该DC关联的GDI函数都将使用这个新添加的字体进行字符的输出。

3.用DeleteObject函数删除添加的字体。

其中用CreateFont函数或者CreateFontIndirect函数创建一个需要使用的字体,将使用LOGFONT结构,该结构包含有字体的大小、字体的名称等各种属性,结构如下:

把它转换为vb 用户自定义类型如下:

代码如下:

使用了以上代码后,会发现写出来的字的背景色是白色的,如果要修改背景色,可以添加SetBkColor函数,代码如下:

       

发表评论