Chinaunix首页 | 论坛 | 博客
  • 博客访问: 100696
  • 博文数量: 52
  • 博客积分: 2095
  • 博客等级: 大尉
  • 技术积分: 500
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-08 13:29
文章分类

全部博文(52)

文章存档

2010年(1)

2009年(24)

2008年(27)

我的朋友

分类:

2009-12-10 23:56:02

编程大赛是模拟电梯运行,在对话框上动画显示电梯上下,其他就是按键了。
为了把电梯动画搞出来查了半天MSDN,手头又没有任何vc教材,可怜我这个MFC菜鸟啊。想的都是在onpaint()中画个图,动画就是每次改变偏移量(ontimer中调用invalidate重绘)。但是MSDN上的例程用上去会闪烁,还用的是createcompatible这种不熟悉的函数; 另一个例程简单一点,还是会闪烁。invalidaterect也是如此,被迫invalidaterect(false)使其不重绘,虽然有残像,看起也舒服点。
回来一查,什么双缓冲就出来了,有点复杂。我这个程序至于吗?再一试验,picture控件可以选择bitmap类型,直接显示图片。我就移动控件行不行呢?在ontimer中:

i++;
CWnd* pwnd = GetDlgItem(IDC_STATIC3);
    pwnd->MoveWindow(350,i,40,40,true);
    this->InvalidateRect(CRect(350,400,0,500),true);

居然效果奇好毫无闪烁!

哎,一定要设置picture控件为bitmap类型。VC6的ide还是难用了点,要是当时用的vs2005肯定搞得出来。

阅读(571) | 评论(0) | 转发(0) |
0

上一篇:VC中的对话框

下一篇:VC界面设计记录

给主人留下些什么吧!~~