加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

CreateFont函数说明

(2010-01-06 17:41:51)
标签:

createfont

创建字体

vc

字体

分类: VC编程

    经常在VC程序中控制字体显示,一般的CreatePointFont使用简单,但也功能有限,如遇到需多行输出,控制行间距,控制文字方向和粗斜体时,便不能满足要求。我们可以用CreateFont来实现字符控制,虽然参数众多,但用多了,也自然能得心应手。

函数原型:

BOOL CreateFont(
   int nHeight,
   int nWidth,
   int nEscapement,
   int nOrientation,
   int nWeight,
   BYTE bItalic,
   BYTE bUnderline,
   BYTE cStrikeOut,
   BYTE nCharSet,
   BYTE nOutPrecision,
   BYTE nClipPrecision,
   BYTE nQuality,
   BYTE nPitchAndFamily,
   LPCTSTR lpszFacename
);
int nHeight, // 以逻辑单位指定字体字符元或字符的高度值(字符高度值是字符元高度值减去内部行距值)当nHeight>0时,字体映射程序将该值转换为设备单位,并将它与可用字体的字符元高度进行匹配,当nHeight=0时,则将其转换为设备单位,并将其绝对值与可用字体的字符高度进行匹配,当nHeight<0时,则匹配一个默认的高度值

int nWidth, // 以逻辑单位指定字符的平均宽度,nWidth=0时,则根据设备的纵横比从可用字体的数字转换纵横中选取最接近的匹配值,该值通过比较两者之间的差异的绝对值得出

int nEscapement, // 出口矢量与X轴的角度:以十分之一度为单位指定每一行文本输出时相对于页面底端的角度

int nOrientation, // 字符基线与X轴的角度:以十分之一度为单位指定字符基线相对于页面底端的角度

int nWeight, // 字体磅值(字体重量):在Windows中,指字体的粗细程度,其范围为0到1000,正常情况下的字体重量为400,粗体为700,如果为0,则使用默认的字体重量,为方便定义,可使用如下值:

FW_DONTCARE:0;FW_THIN;100;FW_EXTRALIGHT;200

FW_ULTRALIGHT;200;FW_LIGHT;300;FW_NORMAL:400

FW_REGULAR;400; FW_MEDIUM;500; FW_SEMIBOLD;600

FW_DEMIBOLD;600;FW_BOLD:700;FW_EXTRABOLD;800

FW_ULTRABOLD;800;FW_HEAVY;900;FW_BLACK;900
BYTE bItalic, // 为TRUE时则为斜体
BYTE bUnderline, // 为TRUE时则加下划线
BYTE cStrikeOut, //为TRUE时则加删除线
BYTE nCharSet, // 指定字体的字符集
BYTE nOutPrecision, // 输出精度:定义了输出与所要求的字体高度、宽度、字符方向等的接近程度                                           
BYTE nClipPrecision, // 裁剪精度:定义如何裁剪部分超出裁剪区的字符
BYTE nQuality, // 输出质量:定义了图形设备接口在匹配逻辑字体属性到实际的物理字体的所使用的方式
BYTE nPitchAndFamily, // 调距和字体族,低端二位指定字体的字符间距,字体族描述一种字体的普通外观,当所有的精确字样都不能使用时,可用它们来指定字体
LPCTSTR lpszFacename ); // 字体的字型名:指向指定字体的字样名的、以\0结束的字符串指针,字符串的长度不能超过32个字符(包括字符\0),函数EnumFontFamilies可用来列举所有当前可用字体的字样名

返回值:如果函数调用成功,返回值是一种逻辑字体句柄;如果函数调用失败,返回值为NULL

0

阅读 收藏 喜欢 打印举报/Report
后一篇:Good Luck
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有