将VC++中的字体输出为竖直方向显示



我们经常看到的文字为自左向右的顺序,但是在一些图形结构中经常会看到对于横竖坐标的描述,如下图所示,其中的纵轴就需要竖直方向的文本“CountsFrme”


Windows系统内置了许多名称以“@”开头的字集,这些字集有一个共同的特点,即其所包含的文字全都是平躺着的(字头朝左,字底朝右)。如果我们能将这些字旋转一些方向则可以根据自身的需求进行任意角度的文字显示。要使文字发生旋转,我们只需创建一个逻辑字体并设定该逻辑字体的显示角度,再设定其字体名称为一个以“@”开头的字集的名称即可。我们可以采用两种方式创建逻辑字体。 

  1、用CFont类的成员函数CreateFont直接创建逻辑字体。

       2、利用LOGFONT结构,将该结构作为参数调用CFont类的成员函数CreateFontIndirect创建逻辑字体。

下面为根据第一种方法所实现的输出竖直方向的字体的代码,同理也可以实现第二种方法,

  CString s;

  s=_T("CountsFrame");
  CFont myFont;
  myFont.CreateFontW (14,5,900,0,10,false,false,false,
   DEFAULT_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,
   DEFAULT_QUALITY,DEFAULT_PITCH,_T("@system"));
  CFont *pOldFont=pdc->SelectObject (&myFont);

  pdc->TextOut(rc.left+10,(rc.top +rc.bottom )/2.0,s);
  pdc->SelectObject (pOldFont);


  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值