📄 subject_53384.htm
字号:
<p>
序号:53384 发表者:huhanjing 发表日期:2003-09-19 10:49:10
<br>主题:怎么在按下"OK"按钮后播放动画呢?
<br>内容:我创建了一个基于Dialog的项目XX,在按下"OK"后能播放AVI格式的动画,我要在消息处理函数OnOK中怎么实现这个过程呢?
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:a dog 回复日期:2003-09-19 11:30:31
<br>内容:对话框的头文件中声明:CAnimateCtrl m_wndAnimate;<BR>OnInitDialog中建立:<BR>m_wndAnimate.Create(WS_CHILD|WS_VISIBLE|ACS_CENTER, <BR> CRect(10,10,200,200), this, 1);<BR>OnButton中:<BR>m_wndAnimate.Open("X:\\XX\\XXX\\XXXXX.avi");<BR>m_wndAnimate.Play(0,-1,-1);
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:huhanjing 回复日期:2003-09-19 12:34:42
<br>内容:CRect(10,10,200,200)是用来播放AVI动画的矩形的位置和大小吗?最后一个参数"1"是什么的ID呢?<BR>把你其中的小错误m_wndAnimate.Play(0,-1,-1); 改过来之后:m_wndAnimate.Play(0,-1,1);结果一按按钮,图片一闪就没了,还是不对啊? <BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:a dog 回复日期:2003-09-19 12:41:52
<br>内容:是区域,1是任意指定的ID,只要不与别的冲突就行了。<BR><BR>最后一个参数为-1表球重复。可能你的AVI很短吧,你又只放一次当然一闪就没了。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:huhanjing 回复日期:2003-09-19 12:55:51
<br>内容:改为-1,也不对啊,我的有10帧啊
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:a dog 回复日期:2003-09-19 13:03:11
<br>内容:你的第二个参数是几
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:huhanjing 回复日期:2003-09-19 13:53:39
<br>内容:就是用你的答案啊?!m_wndAnimate.Play(0,-1,-1);
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:a dog 回复日期:2003-09-19 14:03:02
<br>内容:你把区域改一下,是不是被别的东东盖住了。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:huhanjing 回复日期:2003-09-19 14:27:36
<br>内容:改过了,就是很快的一闪,几乎看不到图片,就只有颜色在眼前一晃
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:a dog 回复日期:2003-09-19 14:33:02
<br>内容:遇到问题你自己要多调试啊,比如你可以换别的AVI文件啊,把按钮消息中别的代码先屏敝掉啊。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:huhanjing 回复日期:2003-09-19 14:33:39
<br>内容:而且我把AVI添加到资源中,然后用以上语句也不行,感觉就只有第一帧一闪.
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:a dog 回复日期:2003-09-19 14:41:15
<br>内容:我没加到资源中,我试一下,
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:a dog 回复日期:2003-09-19 14:57:05
<br>内容:加到资源中也没问题呀!导入=>AUTO方式打开
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:huhanjing 回复日期:2003-09-19 15:12:12
<br>内容:???<BR>就这么几行代码,怎么会有问题呢?<BR>郁闷
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:a dog 回复日期:2003-09-19 15:19:14
<br>内容:能看代码吗?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:huhanjing 回复日期:2003-09-19 15:39:44
<br>内容:很简单,我就用AppWizard生成了基于对话框的框架,其他选项都默认.<BR>把对话框里的"取消"按钮删除,保留"确定"按钮.<BR>然后在CXXDlg的OnInitDialog里加了<BR>m_wndAnimate.Create(WS_CHILD|WS_VISIBLE|ACS_CENTER, CRect(10,10,200,200),this, 1);<BR><BR>添加消息处理函数OnOK(),以实现在按下"确定"是能播放动画.所以在这个函数里加入m_wndAnimate.Open("c:\ok.avi");//c:\ok.avi为我放AVI的路径<BR>m_wndAnimate.Play(0,-1,-1); <BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:张志民 回复日期:2003-09-19 15:43:00
<br>内容:我想知道你的那几行代码时不是写在OnOk()函数里了,<BR>如果是的话,你的执行结果很正常,因为,你播放动画的<BR>同时窗口关闭了,所以就闪了一下,你应该把这些语句<BR>写在另外的地方,不知道你明白没有?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:憨豆先生 回复日期:2003-09-19 15:49:59
<br>内容:应该把CDialog::OnOK();放到最后就可以了,不必写到另外的函数吧。<BR>难道没有播放完就执行CDialog::OnOK();?<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:huhanjing 回复日期:2003-09-19 15:51:43
<br>内容:什么叫把CDialog::OnOK();放到最后?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:huhanjing 回复日期:2003-09-19 15:54:07
<br>内容:恩,有道理,关键就是我把他写在了ONOK函数里.<BR>呵呵.现在实现了<BR>是不是ONOK函数是系统专用来关闭对话框的?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:张志民 回复日期:2003-09-19 17:27:11
<br>内容:韩豆先生,你可以去试一下,实践出真知!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:憨豆先生 回复日期:2003-09-20 10:02:20
<br>内容:看来的确没有播放完就执行CDialog::OnOK();,为什么会这样?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:憨豆先生 回复日期:2003-09-20 10:25:23
<br>内容:对了,播放函数应该这样,否则一播放就不能执行其他函数岂不是很麻烦?<BR>本人是菜鸟,不明白这个函数的原理,是不是它自动建了一个线程还是其他的办法才使得“后台”播放动画的同时还可以继续执行其他函数?<BR>希望高手来讨论讨论。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:huhanjing 回复日期:2003-10-08 10:50:50
<br>内容:呵呵,我又有问题了.<BR>要是在按下按钮之后要播放的是音乐呢,比如说是WAV格式,该怎么实现呢?<BR>对应的控件类应该不是CAnimateCtrl了吧
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -