当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>Visual C++教程

Visual C++实现各种文字特殊效果

一般情况下,程序开发人员都希望自己的程序美观大方,为了达到这一个要求,想尽办法美化自己的程序,另一方面,文字是程序界面上不可或缺的一种传递信息的途径,如果在界面上适当的地方添加并显示各种特殊效果的文字,将不失为一个好的选择,可以达到事半功倍的效果,本例针对Visual C++中编程实现文字的特殊显示效果这一问题,通过编写一个简单的小程序,介绍如何实现这一目标。读者朋友可以稍加改动,将该方法应用到自己的程序中去。


图一 字符串的环绕显示


图二、3D文字效果

  一、实现方法

  在讲述文字的各种处理效果之前,我们首先来介绍Visual C++中的MFC提供的用来创建字体的CFont类。对于Windows程序开发人员来说,可以创建的字体有两种:库存字体(该字体直接使用字体的索引选入设备上下文就可以了,例如:CDC::CreateStockObject(int nIndex ))和自定义字体。

  CFONT类从CgdiObject派生而来,该类的对象可以通过Createfont()、CreateFontIndirect()等函数创建自定义的字体。两个函数原型分别如下:
 CFont::CreateFontIndirect(const LOGFONT* lpLogFont );
CFont::CreateFont( int nHeight, int nWidth, int nEscapement, int nOrientation, int nWeight, BYTE bItalic, BYTE bUnderline, BYTE cStrikeOut, BYTE nCharSet, BYTE nOutPrecision, BYTE nClipPrecision, BYTE nQuality, BYTE nPitchAndFamily, LPCTSTR lpszFacename )。

    其中第二个函数的参数和第一个函数中的LOGFONT类型的参数的的分量有一一对应的关系。LOGFONT结构主要定义了字体的属性,其定义可通过MSDN帮助查到:

 typedef struct tagLOGFONT {
 LONG lfHeight; //字符字体高度 ;
 LONG lfWidth; //字符平均宽度 ;
 LONG lfEscapement; //文本行逆时针旋转角度;
 LONG lfOrientation; //字体角度 ;
 LONG lfWeight; //字体粗细程度 ;
 BYTE lfItalic; //倾斜 ;
 BYTE lfUnderline; //下划线 ;
 BYTE lfStrikeOut; //删除线 ;
 ……
} LOGFONT;
共5页 首页 上一页 1 2 3 4 5 下一页 尾页 跳转到
相关内容
赞助商链接