- 1、本文档共67页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图形和文本输出
第 3 章 图形和文本输出 (1)创建指定颜色的实心画刷函数CreateSolidBrush( ) 其原型为: ?Bool CreateSolidBrush(COLORREF crColor); ?例如创建一个红色的实心画刷: ?CBrush brush; brush.CreateSolidBrush(RGB(255,0,0)); (2)创建阴影画刷函数CreateHatchBrush( ) 其原型为: Bool CreateHatchBrush( int nIndex,COLORREF crColor); ? 参数nIndex用于指定阴影样式,它的值见下表。 例如: 创建一个具有水平和垂直交叉阴影线的红色画刷 ? CBrush brush; brush.CreateHatchBrush(HS_ CROSS,RGB(255,0,0)); 画刷的阴影样式 (3)创建位图画刷函数CreatePatternBrush( ) 采用8像素×8像素的位图。 例如:? CBitMap mybmp; mybmp.LoadBitMap(IDB_MYBMP); CBrush brush; brush.CreatePatternBrush(mybmp);? 先加载位图 【例3.7】编写一个单文档应用程序Li3_7,绘制不同颜色、不同阴影形式的填充矩形。 3.4 处理文本 3.4.1 设置文本显示属性 在默认情况下输出文本时,字体颜色是黑色,背景颜色是白色,背景模式为不透明模式。 通过调用CDC类成员函数重新设置字体颜色、背景颜色和文本对齐方式等文本显示属性,下表是文本属性显示的常用函数。 文本属性函数 1.设置背景模式 SetBkMode( )函数原型为:? int SetBkMode(int nBkMode);? 其中,nBkMode指定背景模式,其值是OPAQUE(不透明)或TRANSPARENT(透明)。 2.设置文本对齐方式 SetTextAlign( )函数改变文本对齐方式:? UINT SetTextAlign(UINT nFlags);? 其中,nFlag为下表中列出的标志的组合。 文本对齐标志 3.4.2 设置字体 字体也是一种GDI对象,字体对象的创建、选择、使用和删除的步骤与其他GDI对象类似。 CFont类提供的创建函数中常用的有以下几个: 1.CreatePointFont( ) ? BOOL CreatePointFont(int nPointSize, LPCTSTR lpszFaceName,CDC* pDC=NULL);? 参数说明: nPointSize:字体大小,以1/10磅为单位; lpszFaceName:创建字体对象所使用的字体名称; pDC:指向一个设备环境对象。 2.CreateFontIndirect( ) ? BOOL CreateFontIndirect(const LOGFONT *lpLogFont);? 参数lpLogFont为指向LOGFONT结构的指针。LOGFONT结构用来说明一种字体的所有属性。 3.CreateFont( ) 该函数包括大量参数,其原型为:? BOOL CreateFont( int nHeight; int nWidth; int nEscapement; int nOrientation; int nWeight; BYTE bItalic; BYTE bUnderline; BYTE cStrikeOut; BYTE nCharSet; BYTE nOutPreclsion; BYTE nClipPrecision; BYTE nQuality; BYTE nPitchAndFamily; LPCTSTR lpszFacename; ) 可以选择库存字体来重新设置字体。当选择库存字体作为文本输出的字体时,无须创建字体对象,只需简单地调用成员函数CDC::SelectStockObject( ),将库存字体对象选入设备环境。 【例3.8】 编写一个单文档的应用程序Li3_8,采用不同的方法创建字体,并根据创建的字体输出不同的文本。 3.4.3 格式化文本 文本的显示是以像素为单位,在绘制任何文本之前,需要精确地知道文本的详细属性,如高度、宽度等,用来计算文本坐标。 CDC类提供了几个文本测量成员函数: 1.
文档评论(0)