C++ MFC如何在对话框上画动态图 画图

如图,想在左边的框里面画图,要有坐档,画出很多点的运动的动画。想着是用定时器每隔一段时间画个图,不知道行不行。所有点在各个时间的位置我全部算出来存在一个二维数组当中了的。... 如图,想在左边的框里面画图,要有坐档,画出很多点的运动的动画。想着是用定时器每隔一段时间画个图,不知道行不行。所有点在各个时间的位置我全部算出来存在一个二维数组当中了的。只是刚学MFC几天,看视频里在也没有相关详细介绍。麻烦给介绍下用到的控件picture control可以不?主要用什么类?VIEW类吗?大体方法思路介绍下,好让我也好有个头绪去找资料。或者有没有相关比较全的资料呢?拜谢!只有15分,全给了! 展开
 我来答
普洛智应
推荐于2016-06-24 · 知道合伙人互联网行家
普洛智应
知道合伙人互联网行家
采纳数:410 获赞数:1585
虚拟现实(VR/AR)以及游戏相关技术,物联网以及传感器技术

向TA提问 私信TA
展开全部
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);
}

任明星Ming
2013-07-16 · TA获得超过798个赞
知道小有建树答主
回答量:1061
采纳率:100%
帮助的人:1148万
展开全部
http://blog.csdn.net/morewindows/article/details/8696730
请到上面这个链接上面看看吧,有关窗口画动画图片的“Windows界面编程第十一篇 位图显示特效 随机积木效果”。
追问
先谢谢。你给的那个连接我只大体浏览了下,晚上再仔细研究。不过好像不太一样呢,我是想在对话框的控件里画,请问用picture control可以不?有没有什么类是可以直接方便的画坐标系的?谢谢。
追答
直接可以用CStatic,Picture control就是CStatic。在WM_PAINT里进行绘制就可以了。
如果你想画坐标的线或者是曲线的话,推荐你用微软现成的代码:MSChart,请看下面链接:
http://baike.baidu.com/view/561161.htm
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
归悦欣cf
2013-07-17 · TA获得超过1444个赞
知道大有可为答主
回答量:4250
采纳率:59%
帮助的人:1327万
展开全部
使用GDI函数定时画图即可.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
┌逃离世界8f5d
2013-07-16 · TA获得超过760个赞
知道小有建树答主
回答量:330
采纳率:0%
帮助的人:331万
展开全部
你可以在这个图片控件中画图,就看你画什么图,普通的几何图形还是图片
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式