在vc cpp中如何让文字在指定位置竖着输出?

 我来答
bhtzu
推荐于2016-01-02 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4195万
展开全部

利用系统@字体即可。大致过程,创建一个使用@字体(就是放倒的字)旋转270度或者90度,之后TextOut输出的就是纵向显示,就像对联那样的“竖着”输出。

   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对象
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式