好多人都觉得在VC中实现文字竖排是一件很难的事情,其实可以使用“躺”着的字体很方便的实现文字竖排。
Windows中有一些字体是“躺”着的,例如:@Fixedsys、@System、@宋体、@黑体等等,有很多,这些字体和不加@的字体的唯一区别就是用这些字体显示的文字是“躺”着的。如下图:
对这些“躺”着的字体进行270°的旋转就可以实现文字竖排了,效果如下:
以下代码可以产出竖排的宋体。
CFont font;
CFont *pOldFont; font.CreateFont(, , , , FW_NORMAL,
, , , DEFAULT_CHARSET, OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,
DEFAULT_PITCH,"@宋体");
pOldFont=dc.SelectObject(&font) dc.TextOut(,,"文字竖排");
dc.SelectObject(&pOldFont)
/* 何问起 hovertree.com */
大家可以试一下。