工控编程吧
标题:
上位机MFC文字旋转效果源代码
[打印本页]
作者:
qq263946146
时间:
2019-10-2 10:30
标题:
上位机MFC文字旋转效果源代码
(, 下载次数: 0)
上传
点击文件名下载附件
例程效果如上图。
文字实现任意角度旋转效果。
关键代码是在图形绘制函数ondraw中实现。
代码如下:
void CGradientTxtView::OnDraw(CDC* pDC)
{
CGradientTxtDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
//得到客户区的大小
CRect rcClient;
GetClientRect (rcClient);
//创建输出字符串.
CString str (_T ("oooo...I am rotating!"));
//输出透明红色字体
pDC->SetBkMode (TRANSPARENT);
pDC->SetTextColor (RGB (255,0,0));
CFont font;
LOGFONT stFont; //字体定义结构
//设置字体格式
memset(&stFont, 0, sizeof(LOGFONT));
stFont.lfHeight=MulDiv(14, -pDC->GetDeviceCaps(LOGPIXELSY), 72);
stFont.lfWeight=FW_NORMAL;
stFont.lfClipPrecision=CLIP_LH_ANGLES;
strcpy (stFont.lfFaceName, "Arial");
//每隔15度输出字符串
for (int nAngle=0; nAngle<3600; nAngle+=150)
{
//设定新的旋转角度
stFont.lfEscapement=nAngle;
//创建字体并选进设备场景
font.CreateFontIndirect(&stFont);
CFont* pOldFont=pDC ->SelectObject(&font);
//输出字体
pDC->TextOut(rcClient.left + rcClient.Width()/2,rcClient.top + rcClient.Height()/2,str);
//原来字体
pDC->SelectObject(pOldFont);
font.DeleteObject();
}
// TODO: add draw code for native data here
}
复制代码
可以参考使用上面代码,
也可以下载工程源代码学习。
(, 下载次数: 0)
上传
点击文件名下载附件
[MFC408]1[/MFC408]
[halcon]1[/halcon]
[weixinlianxi]1[/weixinlianxi]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4