MFC竖写汉字

来源:互联网 发布:化妆步骤 知乎 编辑:程序博客网 时间:2024/05/01 23:42
///////   利用CFont::CreateFont(...)函数实现竖写汉字////////
CFont   myFont;           //创建字体对象

//创建逻辑字体
myFont.CreateFont(
                            56,                 //字体高度(旋转后的字体宽度)=56  
                            20,                 //字体宽度(旋转后的字体高度)=20
                            2700,             //字体显示角度=270°
                            0,                                     //nOrientation=0
                            10,                                   //字体磅数=10
                            FALSE,                             //非斜体
                            FALSE,                             //无下划线
                            FALSE,             //无删除线
                            DEFAULT_CHARSET,         //使用缺省字符集
                            OUT_DEFAULT_PRECIS,   //缺省输出精度
                            CLIP_DEFAULT_PRECIS,//缺省裁减精度  
                            DEFAULT_QUALITY,         //nQuality=缺省值
                            DEFAULT_PITCH,             //nPitchAndFamily=缺省值
                            "@system ");                   //字体名=@system
CFont   *pOldFont=dc.SelectObject(&myFont);//选入设备描述表
CRect   rtClient;
GetClientRect(rtClient);       //获取客户区尺寸、位置信息
//在客户区适当位置输出文字
dc.TextOut(rtClient.Width()/2+30,rtClient.Height()/8,
                              "无边落木萧萧下 ");
dc.SelectObject(pOldFont);   //将myFont从设备环境中分离
myFont.DeleteObject();           //删除myFont对象

///////////   利用LOGFONT结构实现竖写汉字//////////////
LOGFONT   lf;                                           //定义字体结构
lf.lfWeight=10;                                   //字体磅数=10
lf.lfHeight=56;           //字体高度(旋转后的字体宽度)=56  
lf.lfWidth=20;                                     //字体宽度(旋转后的字体高度)=20
lf.lfUnderline=FALSE;                       //无下划线
lf.lfStrikeOut=FALSE;                       //无删除线
lf.lfItalic=FALSE;                             //非斜体
lf.lfEscapement=2700;                       //字体显示角度=270°
lf.lfCharSet=DEFAULT_CHARSET;       //使用缺省字符集
                strcpy(lf.lfFaceName, "@system ");   //字体名=@system
       
CFont   myLogFont;                                       //定义字体对象
myLogFont.CreateFontIndirect(&lf);   //创建逻辑字体
pOldFont=dc.SelectObject(&myLogFont);//选入设备描述表
//在客户区适当位置输出文字
dc.TextOut(rtClient.Width()/2-30,rtClient.Height()/8,
                                  "不尽长江滚滚来 ");
dc.SelectObject(pOldFont);   //将myFont从设备环境中分离
myLogFont.DeleteObject();     //删除myLogFont对象
原创粉丝点击