C++ MFC如何在对话框上画动态图 画图
如图,想在左边的框里面画图,要有坐档,画出很多点的运动的动画。想着是用定时器每隔一段时间画个图,不知道行不行。所有点在各个时间的位置我全部算出来存在一个二维数组当中了的。...
如图,想在左边的框里面画图,要有坐档,画出很多点的运动的动画。想着是用定时器每隔一段时间画个图,不知道行不行。所有点在各个时间的位置我全部算出来存在一个二维数组当中了的。只是刚学MFC几天,看视频里在也没有相关详细介绍。麻烦给介绍下用到的控件picture control可以不?主要用什么类?VIEW类吗?大体方法思路介绍下,好让我也好有个头绪去找资料。或者有没有相关比较全的资料呢?拜谢!只有15分,全给了!
展开
4个回答
推荐于2016-06-24 · 知道合伙人互联网行家
关注
展开全部
void CMFCApplication2Dlg::OnPaint()
{
if (IsIconic())
{
//...
else
{
CPaintDC dc(this); // device context for painting
CPoint Pt[7];
Pt[0] = CPoint(20+m_incr, 50);
Pt[1] = CPoint(180+m_incr, 50);
Pt[2] = CPoint(180+m_incr, 20);
Pt[3] = CPoint(230+m_incr, 70);
Pt[4] = CPoint(180+m_incr, 120);
Pt[5] = CPoint(180+m_incr, 90);
Pt[6] = CPoint(20+m_incr, 90);
dc.Polygon( Pt, 7);
CDialogEx::OnPaint();
}
}
void CMFCApplication2Dlg::OnBnClickedButton1()//Move Arrow button
{
if ( m_nTimer )
{
KillTimer( m_nTimer );
m_nTimer = NULL;
}
else
m_nTimer = SetTimer(1, 20, 0);
}
void CMFCApplication2Dlg::OnTimer(UINT_PTR nIDEvent)
{
m_incr += 3;
Invalidate();
CDialogEx::OnTimer(nIDEvent);
}
展开全部
http://blog.csdn.net/morewindows/article/details/8696730
请到上面这个链接上面看看吧,有关窗口画动画图片的“Windows界面编程第十一篇 位图显示特效 随机积木效果”。
请到上面这个链接上面看看吧,有关窗口画动画图片的“Windows界面编程第十一篇 位图显示特效 随机积木效果”。
追问
先谢谢。你给的那个连接我只大体浏览了下,晚上再仔细研究。不过好像不太一样呢,我是想在对话框的控件里画,请问用picture control可以不?有没有什么类是可以直接方便的画坐标系的?谢谢。
追答
直接可以用CStatic,Picture control就是CStatic。在WM_PAINT里进行绘制就可以了。
如果你想画坐标的线或者是曲线的话,推荐你用微软现成的代码:MSChart,请看下面链接:
http://baike.baidu.com/view/561161.htm
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用GDI函数定时画图即可.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以在这个图片控件中画图,就看你画什么图,普通的几何图形还是图片
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询