如何在指定矩形中旋转显示文字

文章作者 100test 发表时间 2007:12:01 14:27:59
来源 100Test.Com百考试题网


///////////////////////////////////////////////////////
//说明:
// 在矩形框中旋转方式显示文字,jingzhou xu
//参数:
// pDC: DC指针
// str: 显示文字
// rect: 显示范围
// angle: 旋转角度
// nOptions: ExtTextOut()中相应设置
///////////////////////////////////////////////////////
void DrawRotatedText(CDC* pDC, const CString str, CRect rect,
double angle, UINT nOptions)
{
//按比例转换角度值
double pi = 3.141592654.
double radian = pi * 2 / 360 * angle.

//获取显示文字中心点
CSize TextSize = pDC->GetTextExtent(str).
CPoint center.
center.x = TextSize.cx / 2.
center.y = TextSize.cy / 2.

//计算显示文字新的中心点
CPoint rcenter.
rcenter.x = long(cos(radian) * center.x - sin(radian) * center.y).
rcenter.y = long(sin(radian) * center.x cos(radian) * center.y).

//绘制文字
pDC->SetTextAlign(TA_BASELINE).
pDC->SetBkMode(TRANSPARENT).
pDC->ExtTextOut(rect.left rect.Width() / 2 - rcenter.x,
rect.top rect.Height() / 2 rcenter.y,
nOptions, rect, str, NULL).
}

用法:
DrawRotatedText (pDC,”VC知识库”,CRect(100,100,300,300),15, ETO_CLIPPED).


相关文章


如何以指定的颜色深度启动xwindow
如何在Windows应用程序中实现电子注册功能
用VC 6.0实现PC机与单片机之间串行通信的方法
如何在VC 程序中获得其他程序的图标
如何在指定矩形中旋转显示文字
Vista不支持LinuxSamba服务的解决办法
Windows下用sftp巧妙打造安全传输
细数决定SOA成败的关键因素
WindowsVista侧边栏天气故障解决办法
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛