李大仁博客

VB6实现自定义windows的字体对话框修改字体

昨天没有时间把给Kivi的代码发上来,今天补上,仅仅是提供给一些VB的初学者和Kivi同学,如果需要大家可以下载下来看看,VB6是个很老的工具了,不过现在本科的理科同学学还是有需要的

这是一个非常简单的VB Form应用要求分别使用windows的系统自带字体对话框和自己制作一个字体对话框实现对一个文本区域的文本的字体的修改,要求自己制作的能够实现Windows自带的字体对话框的功能。


字体对话框大家应该用过,可以实现对某个VB控件显示的字体的字体名、字号、加粗
倾斜等显示效果的修改,通常大家使用的比较多,所以界面我就不截图了,为了方便
kivi学习所以源代码的注释比较详细,如果大家看过了还有不懂的话,可以直接留言
我一般晚间会给大家回复

源代码下载地址:
http://www.lidaren.com/code/DemoFontDialog.zip

特殊代码说明:

Private Sub btn_comm_Click()
    cmdDlg.Flags = 1 '设置Flags标志表示 ****
    cmdDlg.ShowFont     '显示系统字体对话框
    txtBox.Font.Name = cmdDlg.fontName '字体名称
    txtBox.Font.Bold = cmdDlg.FontBold  '加粗?
    txtBox.Font.Size = cmdDlg.FontSize '字体大小
    txtBox.Font.Italic = cmdDlg.FontItalic '倾斜?
    txtBox.Font.Underline = cmdDlg.FontUnderline '下划线?
    txtBox.Font.Strikethrough = cmdDlg.FontStrikethru '删除线
End Sub

这里我加了*的这一行,在显示VB字体对话框之前一定要设置flags的参数,否则会出现
系统找不到字体的错误。

Flags 属性可以是下面的Visual

Basic常数
cdlCFScreenFonts(屏幕字体)
cdlCFPrinterFonts(打印机字体)
cdlCFBoth(既可以是屏幕字体又可以是打印机字体)

另外很郁闷的是VB当中没有定义Font这个对象,大家可以使用Object,这里我
用的是直接赋值,方便VB初学者,Kivi included!

具体大家可以参阅:http://www.bianceng.cn/Programming/vb/200705/557.htm

Exit mobile version