vc第部分文字与字体.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
vc第部分文字与字体

第五章 文本与字体;内容提要;§5.1. 设置文本的设备环境;1. 有关的基本概念;文本操作的要点: 获得文本句柄; 设置字体、字符大小、字符颜色等属性; 将这些属性选入设备环境; ;2. Windows提供的七种基本字体;3. 选择系统字体的步骤;4.创建自定义字体;DWORD dwCharset, //字体所属字符集 DWORD dwOutputPrecision,//输出精度,缺省值OUT_DEFAULT_PRECIS DWORD dwClipPrecision, //剪裁精度,缺省值CLIP_DEFAULT_PRECIS DWORD dwQuality, //输出质量,缺省值DEFAULT_QUALITY DWORD dwPitchAndFamily, //字体的斜度及字体的系列,缺省值DEFAUL_PITCH DWORD lpszFacename //字体名 ); ;crColor为设置的颜色;§5.2. 文本的输出过程;1. 文本的输出步骤;2. 获取字体信息;系统定义的TEXTMETRICS结构的定义的结构如下: typedef struct tagTEXTMETRIC { //tm LONG tmHeight; //字符高度 LONG tmAscent; //字符基线以上高度 LONG tmDescent; //字符基线以下高度 LONG tmInternalLeading; //包含在tmHeight值内的垂直大小,通常被一些大写字母上注音符号占据。 LONG tmExternalLeading; //行间的间隔 LONG tmAveCharWidth; //平均字符宽度 LONG tmMaxCharWidth; //最大字符宽度 LONG tmWeight; //字符的粗细度 LONG tmOverhang; //合成字体间附加的宽度 LONG tmDigitizedAspectX; //为输出设备设计的X轴尺寸 LONG tmDigitizedAspectY; //为输出设备设计的Y轴尺寸 BCHAR tmFirstChar; //字体中第一个字符值 BCHAR tmLastChar; //字体中最后一个字符值 BCHAR tmDefaultChar; //代替不在字体中字符的字符 BCHAR tmBreakChar; //作为分割符的字符 BYTE tmItalic; //非0则为斜体 BYTE tmUnderlined; //非0则表示有下划线 BYTE tmStruckOut; //非0则表示带删除线 BYTE tmPitchAndFamily; //字体间距和字体族 BYTE tmCharSet; //字符集 }TEXTMETRIC;BooL GetTextExtentPoint32 ( HDC hdc, LPCTSTR lpszString,//指定的字符串 int nLength, //字符串中的字符数 LPSIZE lpSize //返回加字符串宽度及高度的SIZE数据结构的地址 ) 例如,X轴起始坐标为cx0,后续文本起始坐标cx1为: cx1=cx0+size.cx;;确定换行时文本坐标 在tm指向的TEXTMETRICS结构中,存有: 字符高度tmHeight 行间隔tmExternalLeading 。 换行时,新一行文本的y坐标的增量值为: cy=tm.tmHeight+tm.tmExternalLeading; ;3. 文本输出;数字转字符串;§5.3. 文本操作实例;【例5-1】在用户窗口上输出几行字符串,每当窗口接收到WM_PAINT消息后,显示的文本都被刷新。;//主函数 int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { MSG Message; if(!InitWindowsClass(hInstance)) return FALSE; if(!InitWindows(hInstance,nCmdShow))return FALSE; while(GetMessage(Message,0,0,0))//消息循环 { TranslateMessage(Message); DispatchMessage(Message); } return Message.wParam; };//消息处理函数 long WINAPI WndProc(HWND hWnd,UINT iMess

文档评论(0)

盼储储time + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档