您现在的位置是:首页» windows系统» createfont函数,createfont方法

createfont函数,createfont方法

2023-10-15 01:45:18
今天小编为大家分享Windows系统下载、Windows系统教程、windows相关应用程序的文章,希望能够帮助到大家!1. 对字体的定义:CreateFont()函数的功能是使用指定的字体名称和字号和特征创建一个字体。有八个参数指定字体的参数,分别是h Inst,nHeigh

今天小编为大家分享Windows系统下载、Windows系统教程、windows相关应用程序的文章,希望能够帮助到大家!

1. 对字体的定义:CreateFont()函数的功能是使用指定的字体名称和字号和特征创建一个字体。有八个参数指定字体的参数,分别是h

Inst,nHeight,nWidth,nEscapement,nOrientation,fnWeight,bItalic,bUnderline和cbStrikeOut,其中hInst 改变特征,nHeight改变字号,nWidth改变字宽,nEscapement改变字型,nOrientation改变字体,fnWeight改变密度,bItalic改变斜体,bUnderline改变下划线,cbStrikeOut改变删除线。

2. hInst参数:这个参数指定字体实例的句柄,如果hInst=NULL,则系统会从当前的设备上下文获取实例句柄。

3. nHeight参数:它代表字号,它是一个带符号的16位整数,单位为像素,如果该参数为0,则字号会根据nWidth和字体比例而变化,nHeight可以小于或大于0,小于0时字号越小,大于0时,字号越大。

4. nWidth参数:它是一个带符号的16位整数,如果非零,则字号也将根据它与字体比例而变化,当nHeight和nWidth均为零时,每

笔画的宽度将是固定的,nWidth大于零时,每个笔画的宽度将会增加,反之,每个笔画的宽度将会减小。

5. nEscapement参数:这个参数指定基线的朝向,单位为一个十进制角度,当这个参数主要以全局标记使用,从X轴正方形开始算起,属于0~3600之间的值,这意味着每隔10度为基线朝向一次,在水平方向及垂直方向中各可增加或减少500度,而在其他方向只能增加或减少1800度。

6. nOrientation参数:这个参数指定字符排列方向,它必须与nEscapement参数相同,但它不能改变,只能改变nEscapement参数来改变字符排列方向。

7. fnWeight参数:这个参数控制字体的粗细,一般分为常规、粗体、细体和黑体,该参数收到LOGFONTW结构体中的FW_THIN,FW_NORMAL,FW_BOLD四个值,其他可以作为它们的混合。

8. bItalic参数:这个参数指定是否应使用斜体的字形文本,如果该参数为TRUE,则斜体字形文本会转化为正常字形文本,否则,会转化为斜体字形文本。

9. bUnderline参数:这个参数控制是否应使用线条修饰符,如果该参数为TRUE,则线条可以修饰,如果是FALSE,则线条不可以修饰。

10. cbStrikeOut参数:这个参数控制是否应在文本中使用删除线,如果该参数为TRUE,则会出现删除线,如果是FALSE,则不会出现删除线。

1. CreateFont函数:CreateFont函数是Microsoft Windows系统中常用的API函数,它使程序员可以创建自己想要的字体加以应用。该函数用于创建一种新的字体对象和设定字体参数,具体包括字体行距、垂直对齐、小型大写及字形等。

2. 用法:CreateFont函数的格式如下:

HANDLE CreateFont( int nHeight,int nWidth,int nEscapement,int nOrientation,int fnWeight,DWORD fdwItalic, DWORD fdwUnderline,DWORD fdwStrikeOut,DWORD fdwCharSet,DWORD fdwOutputPrecision,

DWORD fdwClipPrecision,DWORD fdwQuality,DWORD fdwPitchAndFamily,const TCHAR *lpFaceName );

每一个参数的含义如下:

nheight:指定字体的高度,以逻辑单位表示。逻辑单位定义为一个单位的一分之一的像素点的数量。它可让字体比期望的稍微高一些或稍微低一些。

nwidth:指定字体的宽度。

nescapement:指定字体的基线的绝对方向,以角度为单位。正值表示顺时针方向,负值表示逆时针方向,一般为0。

norientation:指定字体的倾斜角度,以角度为单位,正值表示顺时针方向,负值表示逆时针方向,一般为0。

fnweight:指定字体粗细,有如下几种:FW_DONTCARE、FW_THIN、FW_EXTRALIGHT、FW_LIGHT、FW_NORMAL、FW_MEDIUM、FW_SEMIBOLD、FW_BOLD、FW_EXTRABOLD、FW_HEAVY等。

fdwitalic:将文字设置为斜体状态,可定义有:\"true\"或\"false\"。

fdwunderline:为文字设置下划线状态,可定义有: \"true\"或\"false\"。

fdwstrikeout:为文字设置中划线状态,可定义有: \"true\"或\"false\"。

fdwcharset:指定字体字符集,它决定了字符与每一个字形的关联,可定义有:ANSI_CHARSET、BALTIC_CHARSET、CHINESEBIG5_CHARSET、EE_CHARSET、GB2312_CHARSET、HANGUL_CHARSET、SHIFTJIS_CHARSET、SYMBOL_CHARSET、TURKISH_CHARSET 。

fdwoutputprecision:指定某一设备的输出精度,可定义有: OUT_DEFAULT_PRECIS 、OUT_STRING_PRECIS 、OUT_CHARACTER_PRECIS 、OUT_STROKE_PRECIS 、OUT_TT_PRECIS 、OUT_DEVICE_PRECIS、OUT_RASTER_PRECIS、 OUT_TT_ONLY_PRECIS 等。

fdwclipprecision:指定剪辑精度,剪辑准确度越高质量越高,可定义有: CLIP_DEFAULT_PRECIS 、CLIP_CHARACTER_PRECIS 、CLIP_STROKE_PRECIS 、CLIP_MASK 、CLIP_LH_ANGLES 、CLIP_TT_ALWAYS 、CLIP_DFA_DISABLE 。

fdwquality:指定输出质量,可定义有: DEFAULT_QUALITY 、DRAFT_QUALITY 、NONANTIALIASED_QUALITY 、ANTIALIASED_QUALITY 、CLEARTYPE_QUALITY 。

fdwpitchandfamily:指定字体的类别,可以包含字体大小、字体宽度、字体字型以及是否为宋体的标记位,可定义有:DEFAULT_PITCH等。

lpfacename:指定字体的名称,如“Times New Roman”。

3. 简单示例:实现“宋体,12号,无下划线,无斜体,无标记”字体风格,使用CreateFont函数,示例代码如下:

hFont = CreateFont(12, 0, //高度是12

0, 0, //不倾斜

FW_NORMAL, // 字形粗细

FALSE, // 无斜体

FALSE, // 无下划线

FALSE, // 无中划线

DEFAULT_CHARSET, //字体字符集

OUT_DEFAULT_PRECIS,

CLIP_DEFAULT_PRECIS,

DEFAULT_QUALITY,

DEFAULT_PITCH | FF_DONTCARE,

wWw.Xtw.com.Cn系统网专业应用软件下载教程,免费windows10系统,win11,办公软件,OA办公系统,OA软件,办公自动化软件,开源系统,移动办公软件等信息,解决一体化的办公方案。

免责声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。内容仅供参考使用,不准确地方联系删除处理!

联系邮箱:773537036@qq.com