好多人都覺得在VC中實現文字豎排是一件很難的事情,其實可以使用“躺”著的字體很方便的實現文字豎排。
Windows中有一些字體是“躺”著的,例如:@Fixedsys、@System、@宋體、@黑體等等,有很多,這些字體和不加@的字體的唯一區別就是用這些字體顯示的文字是“躺”著的。如下圖:
對這些“躺”著的字體進行270°的旋轉就可以實現文字豎排了,效果如下:
以下代碼可以產出豎排的宋體。
CFont font; CFont *pOldFont; font.CreateFont(18, 0, 2700, 2700, FW_NORMAL, 0, 0, 0, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH,"@宋體"); pOldFont=dc.SelectObject(&font) dc.TextOut(50,50,"文字豎排"); dc.SelectObject(&pOldFont) /* 何問起 hovertree.com */
大家可以試一下。
推薦:http://www.cnblogs.com/roucheng/p/cpphong.html