用VC实现竖写汉字的方法
2008-11-13 19:31:31 来源:WEB开发网中国人自古就有自右至左、从上到下书写汉字的习惯。而当我们在自己所编写的应用程序中使用输出函数输出的总是自左至右的横排文字。
有没有可能在我们的应用程序中实现竖写汉字的效果呢?笔者偶然发现了一种利用VC实现竖写汉字效果的方法,现在就把它介绍给大家。
Windows系统内置了许多名称以“@”开头的字集,这些字集有一个共同的特点,即其所包含的文字全都是平躺着的(字头朝左,字底朝右)。如果我们能将这些字逆时针旋转270度后再显示出来,就可以达到实现竖写汉字效果的目的了。
要使文字发生旋转,我们只需创建一个逻辑字体并设定该逻辑字体的显示角度,再设定其字体名称为一个以“@”开头的字集的名称即可。我们可以采用两种方式创建逻辑字体。
其一,用CFont类的成员函数CreateFont直接创建逻辑字体。CreateFont的参数定义如下:
BOOLCreateFont(
intnHeight, //字体的高度
intnWidth, //字体的宽度
intnEscapement, //字体显示的角度
intnOrientation, //字体的角度
intnWeight, //字体的磅数
BYTEbItalic, //斜体字体
BYTEbUnderline, //带下划线的字体
BYTEcStrikeOut, //带删除线的字体
BYTEnCharSet, //所需的字符集
BYTEnOutPrecision, //输出的精度
BYTEnClipPrecision, //裁减的精度
BYTEnQuality, //逻辑字体与输出设备的实际
//字体之间的精度
BYTEnPitchAndFamily, //字体间距和字体集
LPCTSTRlpszFacename //字体名称
);
更多精彩
赞助商链接