字体转换程序
现在要做一个字体转换程序 要求是
在文本框中输入字符 选择需要的字体 及字符大小 按确定后能在图片框中显示相应的字符
问怎样用COMBOL控件加载WINDOWS含有的所有字体和字符大小选项
问题点数:100、回复次数:20Top
1 楼Featured(我握着爱情的门票静静排队……)回复于 2005-11-29 16:33:01 得分 0
遍历%fonts%文件夹即可Top
2 楼chen2831278(云)回复于 2005-11-29 16:38:14 得分 0
恩 还是不明白啊 能不能说明用什么控件 如何加载啊Top
3 楼zhzhq800204(lazio)回复于 2005-11-29 16:41:43 得分 0
遍历%fonts%文件夹即可.同意!!Top
4 楼northwolves(狼行天下)回复于 2005-11-29 16:45:47 得分 10
Private Sub Form_Load()
Dim i As Integer
i = 1
Do While Not Screen.Fonts(i) = ""
Combo1.AddItem Screen.Fonts(i)
i = i + 1
Loop
End SubTop
5 楼northwolves(狼行天下)回复于 2005-11-29 16:47:34 得分 0
基本都是TRUETYPE字体,fontsize 可以自己定义成很多规格Top
6 楼winehero(God helps those who help themselves.)回复于 2005-11-29 16:48:28 得分 10
'Screen.Fonts集合就是字体集合
Option Explicit
Private Sub Command1_Click()
Dim i As Integer
For i = 1 To Screen.FontCount - 1
Print Screen.Fonts(i)
Next i
End Sub
Top
7 楼chen2831278(云)回复于 2005-11-29 16:48:48 得分 0
呵呵 对不起我是菜鸟 你们说的我看不明白啊Top
8 楼chen2831278(云)回复于 2005-11-29 16:49:30 得分 0
啊一下子这么多恢复拉 我回头看看先Top
9 楼winehero(God helps those who help themselves.)回复于 2005-11-29 16:56:17 得分 0
可使用Windows API : EnumFontFamiliesEx 来获取
___________________________________________________
Declare Function EnumFontFamiliesEx Lib "gdi32" Alias "EnumFontFamiliesExA" (ByVal hdc As Long, lpLogFont As LOGFONT, ByVal lpEnumFontProc As Long, ByVal lParam As Long, ByVal dw As Long) As Long
说明
根据一个LOGFONT结构提供的信息,列举指定设备可用的字体
返回值
Long,由回调函数返回的前一个值
参数表
参数 类型及说明
hdc Long,设备场景的句柄
lpLogFont LOGFONT,这个结构指定了欲枚举的字体。此时用到的字段包括:lfCharSet, lfFaceName 和 lfPitchAndFamily。其他所有字段都会忽略
lpEnumFontFamProc Long,欲调用的函数地址。这个地址是用 AddressOf 运算符为来自一个标准模块的函数进行操作,或者利用某个回调控件得到
lParam Long,指定希望传递给回调函数的一个用户自定义值
dw Long,保留,设为零
注解
参见EnumFontFamilies函数的注解
Top
10 楼chen2831278(云)回复于 2005-11-29 17:02:14 得分 0
那字体大小如何设置呢Top
11 楼northwolves(狼行天下)回复于 2005-11-29 17:15:35 得分 0
那字体大小如何设置呢
-----------------------
基本都是TRUETYPE字体,fontsize 可以自己定义成很多规格:
Private Sub Command1_Click()
Me.AutoRedraw = True
Me.Cls
Me.FontName = "隶书"
Me.FontSize = Me.FontSize + 10
Me.Print "A"
End SubTop
12 楼chen2839846(云在海心)回复于 2005-11-29 18:03:23 得分 0
这个字体大小的转换能不能做成可选择的呢Top
13 楼chen2831278(云)回复于 2005-11-30 08:39:03 得分 0
顶Top
14 楼rainstormmaster(暴风雨 v2.0)回复于 2005-11-30 09:04:26 得分 0
//这个字体大小的转换能不能做成可选择的呢
用字体选择对话框就可以了Top
15 楼rainstormmaster(暴风雨 v2.0)回复于 2005-11-30 09:12:58 得分 70
留下email,我给你发一个完整的程序Top
16 楼WM_JAWIN(失业,找工作中...)回复于 2005-11-30 09:17:27 得分 0
用 winehero(编程人生) 提供的API啦,我有一个程序都是用这个API做出来的Top
17 楼zou19820704(天下英雄)回复于 2005-11-30 10:05:11 得分 10
Private Sub Combo1_Click()
Me.Text1.Font = Combo1.Text
End Sub
Private Sub Combo2_Click()
Me.Text1.FontSize = Combo2.Text
End Sub
Private Sub Command1_Click()
Dim i As Integer
For i = 0 To Screen.FontCount - 1
Me.Combo1.AddItem Screen.Fonts(i)
Next i
For i = 2 To 72 Step 2
Me.Combo2.AddItem i
Next i
End Sub
Top
18 楼chen2831278(云)回复于 2005-11-30 11:41:20 得分 0
我的E MAIL SHI
chen2839846@163.com 谢谢拉Top
19 楼leezo(新丁)回复于 2005-11-30 12:32:56 得分 0
markTop
20 楼rainstormmaster(暴风雨 v2.0)回复于 2005-11-30 12:39:32 得分 0
已发送Top




