亲爱的网友,你能搜到本文中,说明您很希望了解这个问题,以下内容就是我们收集整理的相关资料,希望该答案能满足您的要求
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,
不知这篇文章是否帮您解答了与标题相关的疑惑,如果您对本篇文章满意,请劳驾您在文章结尾点击“顶一下”,以示对该文章的肯定,如果您不满意,则也请“踩一下”,以便督促我们改进该篇文章。如果您想更进步了解相关内容,可查看文章下方的相关链接,那里很可能有你想要的内容。最后,感谢客官老爷的御览