下载此文档

VC字体文本输出.ppt


文档分类:IT计算机 | 页数:约37页 举报非法文档有奖
1/37
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/37 下载此文档
文档列表 文档介绍
*
第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

VC字体文本输出 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数37
  • 收藏数0 收藏
  • 顶次数0
  • 上传人sanshenglu2
  • 文件大小625 KB
  • 时间2021-01-18