1 / 37
文档名称:

VC字体文本输出.ppt

格式:ppt   大小:625KB   页数:37页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

VC字体文本输出.ppt

上传人:sanshenglu2 2021/1/18 文件大小:625 KB

下载得到文件列表

VC字体文本输出.ppt

文档介绍

文档介绍:*
第5章 文本的输出与字体设置
WindowsGDI进行文本输出。在一定意义上,任何内容都可以看成图形实体
图形和文本并
没有明显的界限
设置字体、字符颜色等有关属性
将这些属性选入设备环境
*
设置文本的设备环境
字体
逻辑字体定义的字符集是设备无关的,它可以精确标度,因此得到广泛应用
描述所要显示
的文本的大小、
类型和外形
物理字体是为特殊设备设计的,因而是设备相关的
Win 系统
提供了七种
基本字体
字体 说明
ANSI_FIXED ANSI标准的固定宽度的字体
ANSI_VAR ANSI标准的可变宽度的字体
DEFAULT_GUI 当前GUI的缺省字体
OEM_FIXED 由标准原设备制造商(OEM)提供
DEVICE_DEFAULT 当前图形设备的字体
SYSTEM_FIXED Windows的标准固定宽度的字体
SYSTEM Windows提供的可变宽度的字体
常作为缺省字体
Win用它作为
系统界面字体
*
(1) 定义字体句柄变量:
HFONT hF; //hF为字体的句柄
(2) 调函数GetStockObject获得系统字体句柄
它返回的是系统的缺省字体
hF= GetStockObject( ):
(3) 调用函数SelectObject将字体选入设备环境
SelectObject(hdc,hF);
选择系统字体的步骤
*
创建自定义字体
若需要定义系统以外的字体,可以调用函数GreateFont自行创建 HFont=CreateFont
(int nHeight, //字体高度,0采用系统缺省值,使用逻辑单位
int nWidth, //字体宽度,取0则由系统根据高宽比取最佳值
int nEscapement, //每行文字相对于页底的角度,
int nOrienation, //每个文字相对于页底的角度,
DWORD nWeight, //字体粗细度,范围为0~1000
DWORD Dwltalic, //如果要求字体倾斜,则取非零
DWORD dwUnderline, //如果要求下划线,则取非零
DWORD dwStrikeout, //如果要求中划线,则取非零
DWORD dwCharset, //字体所属字符集
DWORD dwOutputPrecision,//输出精度,一般取缺省值OUT_DEFAULT_PRECIS
DWORD dwClipPrecision, //剪裁精度,常取缺省值CLIP_DEFAULT_PRECIS
DWORD dwQuality, //输出质量,一般取缺省值DEFAULT_QUALITY
DWORD dwPitchAndFamily, //字体间距
LPCTSTR lpszFace // 字体名
)
可选的系统字符集:
ANSI_CHARSET
OEM_CHARSET
SYMBOL_CHARSET
DEFAULT_CHARSET
SHIFTJIS_CHARSET
*
设置字体和背景颜色
设置字体颜色:SetTextColor(hdc,crColor);
设置背景颜色:SetBkColor(hdc,crColor);
crColor为设置的颜色
字体及背景颜色
的设置在开发过
程中非常重要
*
文本的输出过程
确定后续文本坐标
确定换行时文本坐标
文本输出过程
获取字体信息
格式化文本
调用函数输出文本
*
获取字体信息
输出文本之前要获取字体的信息,如字符高度等,以确定输出格式和下一行字符的位置
GetTextMetrics (hdc,&tm);//tm为TEXTMETRICS结构
获取当前使
用字体信息
调用该函数时,系统将当前字体的信息拷贝到tm标识的TEXTMETRICS结构中
*
系统定义的TEXTMETRICS的结构如下:
typedef struct tagTEXTMETRIC
{ //tm
LONG tmHeight; //字符高度
LONG tmAscent; //字符基线以上高度
LONG tmDescent; //字符基线以下高度
LONG tmInternalLe