Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)qq
published in(发表于) 2014/7/9 22:39:24
visual c++中字体类CFont的用法

visual c++中字体类CFont的用法

字体类CFont

Windows提供了多种与设备无关的不同尺寸的字体。有效地使用这些Windows字体,不用在编程时下很大功夫,就可以明显地增强各种应用程序的功能。字体是Windows GDI必要的组成部分,这意味字体的使用与其他GDI对象一样。它们可以缩放和剪切,可以像选取画笔或者画刷一样选取设备环境。所有关于撤消选中和删除的GDI规则都适用于字体。

字体由CFont类进行管理,创建CFont类必须使用CFont类的成员函数,这点与CPen和CBrush有所不同。

1.CFont提供的创建字体的成员函数

利用CFont创建字体的方法有两种,它们是:

(1)BOOL CreateFontIndirect(const LOGFONT* lpLogFont )

该对象通过LOGFONT结构创建字体,LOGFONT结构的定义如下:

typedef struct tagLOGFONT {

LONG lfHeight;

LONG lfWidth;

LONG lfEscapement;

LONG lfOrientation;

LONG lfWeight;

BYTE lfItalic;

BYTE lfUnderline;

BYTE lfStrikeOut;

BYTE lfCharSet;

BYTE lfOutPrecision;

BYTE lfClipPrecision;

BYTE lfQuality;

BYTE lfPitchAndFamily;

TCHAR lfFaceName[LF_FACESIZE];

} LOGFONT;

LOGFONT结构中各个成员的含义如下:

lfHeight:设置字体的高度。

lfWidth:设置字体的平均宽度。

LfEscapement:设定字符串底线与水平线的夹角,夹角是以0.1度为单位。

lfOrientation:设定每一个字符的底线与水平线的夹角,夹角是以0.1度为单位。

lfWeight:设置字体的粗细,其取值范围为0~1000,通常400为正常粗细,700为粗,如果取值为0,则选择默认粗细。

lfItalic:如果为TRUE,则字体为斜体。

lfUnderline:如果为TRUE,则字体带下划线。

lfStrikeOut:如果为TRUE,则字体带删除线。

lfCharSet:指定字符集。

LfOutPrecision:指定输出时字体的精度。

lfClipPrecision:指定输出时字体被裁剪的精度。

lfQuality:指定输出质量。

lfPitchAndFamily:设置字体的斜度和字体类型。

lfFaceName[LF_FACESIZE]:设置字体字样。

(2)CreateFont()成员函数

CreateFont()成员函数的原型:

BOOL CreateFont(

int nHeight, //以逻辑单位方式指定字体的宽度

int nWidth, //以逻辑单位方式指定字体中字符的平均宽度

int nEscapement, //指定偏离垂线和X轴在显示面上的夹角(单位:0.1度)

int nOrientation, //指定符串基线和X轴之间的夹角(单位:0.1度)

int nWeight, //指定字体镑数

BYTE bItalic, //指定字体是否为斜体

BYTE bUnderline, //指定字体是否带下划线

BYTE cStrikeOut, //指定是否是字体字符突出

BYTE nCharSet, //指定字体的字符集

BYTE nOutPrecision, //指定所需的输出精度

BYTE nClipPrecision, //指定所需的剪贴精度

BYTE nQuality, //指示字体的输出质量

BYTE nPitchAndFamily, //指定字体的间距和家族

LPCTSTR lpszFacename //指定字体字样的名称

)

参数说明:

nHeight:其取值范围可以大于0、等于0或小于0。nHeight以逻辑单位方式指定字体的高度,字体的高度可任选下列值。

² 大于0:此时高度被转化为设备单位,与可用字体的网格高度做比较。

² 等于0:使用合理的缺省大小。

² 小于0:此时高度被转化为设备单位,而绝对值与可用字体的字符高度做比较。

注意:nHeight绝对值在转化后不可超过16384设备单位。

nEscapement:指定偏离垂线与X轴在显示面上的夹角。偏离垂线是从一行中开始到最后一个字符的线,此角从x轴逆时针方向度量。

nOrientation:指定字符基线和X轴之间的夹角。此度数在坐标轴中由X轴逆时针方向度量时坐标系中Y轴向下,顺时针方向从X轴旋转时,Y轴向上。


If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759