MFC中怎么实现多个图片的连续显示?

我添加了一个Picture控件,用程序可以调用图片并显示,但是我想让在这个控件里在某个时间段里边连续显示几张图片,每张图片停留一段时间。我创建的是一个基于对话框的MFC工... 我添加了一个Picture控件,用程序可以调用图片并显示,但是我想让在这个控件里在某个时间段里边连续显示几张图片,每张图片停留一段时间。我创建的是一个基于对话框的MFC工程。哪位大侠能帮帮忙,小弟感激不尽!
要是有源码,发我邮箱664636261@qq.com谢谢
展开
 我来答
woshinia777
推荐于2016-06-22 · TA获得超过915个赞
知道小有建树答主
回答量:495
采纳率:0%
帮助的人:349万
展开全部
在C...APP文件的InitInstance()里写一段SetTimer(1,1000,NULL);其中1000可以改为你要时间,单位毫秒。然后在C...Dlg上右键--增加消息处理,选择WM_TIMER,选择添加并编辑,在OnTimer()里写如下:
static int x = 0;
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1+(x++));

BITMAP bmp;
bitmap.GetBitmap(&bmp);

CDC dc;
dc.CreateCompatibleDC(pDC);

dc.SelectObject(&bitmap);

CRect rect;
GetClientRect(&rect);
// pDC->BitBlt(0,0,rect.Width(),rect.Height(),&dc,0,0,SRCCOPY);
pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&dc,0,0 ,bmp.bmWidth,bmp.bmHeight,SRCCOPY);

当然,IDB_BITMAP1+x++的前提是你导入的资源是按顺序的,如果不行,请在IDB_BITMAP1上右键,gotodefinition,(或打开Resource.h),然后自行修改值,使其按顺序来。当然你也可以用取模的方法来时x的值循环起来。
lxmaint
2010-08-28
知道答主
回答量:53
采纳率:0%
帮助的人:18.8万
展开全部
加个定时器就好,在你希望的时间里打开定时器,这个定时器的功能设定为定时(你希望停留的时间)更换图片。完毕后关闭定时器。
定时器会用吧?
在你VC的类视图CLASS VIEW里 选中你的DLG类,右键单击有个ADD WINDOWS MESSAGE HANDLER··· 里面找到WM_TIMER加入,即加入了定时器。再填写相应代码即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
RussellKing
2010-08-28 · 超过36用户采纳过TA的回答
知道答主
回答量:158
采纳率:0%
帮助的人:112万
展开全部
1. 使用定时器(WM_TIMER , OnTimer)
2. 显示一张图片,然后开始定时器
3. 写一个定时器响应函数,到时后替换为下一张
4. 直到最后一张重新开始
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式