如何用vc++制作对话框中点击确定btn后显示动态图片 20
3个回答
展开全部
动态图片一般是使用定时器让定时器固定时间进行更换,这样,图片看起来就是动态的。
在确定的OnOK()函数中
SetTimer(1,10,NULL);//开始计时器
在对话框中添加一个Picture控件,然后添加几个BITMAP资源,注意ID的连续性。IDB_BITMAP1~IDB_BITMAP3.这样,就可以动态地变化这三个图了。
添加WM_TIMER消息,在OnTimer()函数中使用
if(nIDEvent==1)
{
CBitmap hbit;
static UINT i=IDB_BITMAP1;
hbit.LoadBitmap(i);
m_Pic.SetBitmap((HBITMAP)hbit.GetSafeHandle());
i++;
if(i>IDB_BITMAP3) i=IDB_BITMAP1;
}
在确定的OnOK()函数中
SetTimer(1,10,NULL);//开始计时器
在对话框中添加一个Picture控件,然后添加几个BITMAP资源,注意ID的连续性。IDB_BITMAP1~IDB_BITMAP3.这样,就可以动态地变化这三个图了。
添加WM_TIMER消息,在OnTimer()函数中使用
if(nIDEvent==1)
{
CBitmap hbit;
static UINT i=IDB_BITMAP1;
hbit.LoadBitmap(i);
m_Pic.SetBitmap((HBITMAP)hbit.GetSafeHandle());
i++;
if(i>IDB_BITMAP3) i=IDB_BITMAP1;
}
追问
谢谢 然后我还想链接音频,准备设置多个按钮控件对应不同音频,然后设一个暂停键,但是总是所有播放按钮对应相同歌曲,我不会改.....,另外暂停键我也不会设置.....求教
追答
音频的播放有很多种方法,一般比较简单是使用MCI来播放。以下代码供参考。
头文件应该包含以下的
#include "mmsystem.h"//导入声音头文件
#pragma comment(lib,"winmm.lib")//导入声音头文件库
播放代码
MCI_OPEN_PARMS openParms;
openParms.lpstrDeviceType="MPEGvideo";
openParms.lpstrElementName=m_SoundPath;//m_SoundPath就是播方的音乐的地址
mciSendCommand(NULL,MCI_OPEN,MCI_OPEN_ELEMENT | MCI_OPEN_TYPE | MCI_NOTIFY ,(DWORD) (LPVOID(&openParms)));//打开资源
m_wDeviceID=openParms.wDeviceID;
MCI_PLAY_PARMS playParms;
mciSendCommand(m_wDeviceID,MCI_PLAY,MCI_NOTIFY,(DWORD) (LPVOID(&playParms)));//播放
mciSendCommand(m_wDeviceID,MCI_STOP,NULL,NULL);//停止
//mciSendCommand(m_wDeviceID,MCI_CLOSE,MCI_NOTIFY,NULL);//关闭命令
展开全部
if(nIDEvent==1)
{
CBitmap hbit;
static UINT i=IDB_BITMAP1;
hbit.LoadBitmap(i);
m_Pic.SetBitmap((HBITMAP)hbit.GetSafeHandle());
i++;
if(i>IDB_BITMAP3) i=IDB_BITMAP1;
}
{
CBitmap hbit;
static UINT i=IDB_BITMAP1;
hbit.LoadBitmap(i);
m_Pic.SetBitmap((HBITMAP)hbit.GetSafeHandle());
i++;
if(i>IDB_BITMAP3) i=IDB_BITMAP1;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这种问题不应该来问的。。 ~! 你是学还是要别人帮你做?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询