C语言课程设计-MP3播放器(2)

来源:互联网 发布:c 定义二维数组 编辑:程序博客网 时间:2024/05/20 18:00

界面的实现,程序的控制块。

1:使用的工具:VC++6.0和EasyX。(不懂EasyX的可以去看下EasyX官网,了解一下)

VC++6.0来实现程序的控制块,EasyX来实现界面的显示。
       1.1:首先下载EasyX后安装,把它嵌入到VC++6.0中,就可以在VC中使用它了。
       安装时大概是这个样子:
    
EasyX里有API里面有各种函数的介绍,官网上也有各种例子,用来写简单的游戏也是不错的。
1.2:开始写载入界面的了。
   我写的是一打开exe,首先有段语音(hello 酷狗!),哈哈,偷来的。然后再显示点击进入播放器,在用户没有点击的时候,随机显示预先加载好的图片。点击后正式进入
  播放器。好,我们先实现这个界面。
  使用EasyX中的函数loadimage函数,加载图片,例如,loadimage(NULL, "呼吸.jpg");可以实现加载名字为呼吸的图片。 
  随机的话加个随机函数就好了。
void jiazai()    {        int t;        srand((unsigned)time(NULL));        t=rand()%10;//随机产生一个t  然后随机加载一张图片作为进入背景        switch(t)        {        case 1:            loadimage(NULL, "唱歌.jpg");            break;        case 2:            loadimage(NULL, "呼吸.jpg");            break;        case 3:            loadimage(NULL, "朋友.jpg");            break;        case 4:            loadimage(NULL, "可惜不是你.jpg");            break;        case 5:            loadimage(NULL, "亲爱.jpg");            break;        case 6:            loadimage(NULL, "思念.jpg");            break;        case 7:            loadimage(NULL, "意义.jpg");            break;        case 8:            loadimage(NULL, "再见.jpg");            break;        case 9:            loadimage(NULL, "想你.jpg");            break;        default:            loadimage(NULL, "往事.jpg");            break;        }    }

可以随机显示预先放好的图片。

1.3:获取用户鼠标点击事件,使用 m = GetMouseMsg(); m现在表示鼠标的状态,实现如下:
 while(flag!=1)        {            outtextxy(200,300,"点击进入!");            time(&time2);            if(difftime(time2,time1)>=4)            {                jiazai();                time1=time2;            }            // 获取一条鼠标消息            m = GetMouseMsg();            switch(m.uMsg)            {            case WM_MOUSEMOVE:                putpixel(m.x, m.y, BLUE);                break;            case WM_LBUTTONDOWN:            {                flag=1;                break;            }            case WM_RBUTTONUP:                break;            }        }

鼠标点击后 flag置为1,跳出循环,进入播放主菜单。
大概是这个样子

2:播放主菜单。

用第一篇的知识将歌曲打印出来。然后循环获取用户鼠标操作。

  上图:
根据鼠标点击的位置,来判断用户要播放哪首歌曲。
代码实现:这里知识实现的一部分,没有把全部的拷贝出来,这里的括号个数有问题
case WM_LBUTTONDOWN://鼠标左键按下        {            if(flag1==1)//flag作为一个标志,看是否需要执行下面代码            {                        if(m.x<=490&&m.x>=450)//判断鼠标位置是否在播放按钮上                       {                        for(num=0; num<i; num++)                            if(m.y>=50+25*num&&m.y<=70+25*num)//循环查找                            {                                if(index!=99)                                {                                    setlinecolor(LIGHTBLUE);                                    ellipse(450,50+25*index,490,70+25*index);                                }                                index=num;                                setlinecolor(WHITE);                                ellipse(450,50+25*num,490,70+25*num);                                bofang(fa,i,mode,index);//如果是,则播放所选歌曲                                flag1=0;//flag=0                            }                    }}

这里的bofang函数参数各为:歌曲文件数组,i为当前是第几首,mode为播放类型,index播放歌曲的下标。
 bofang函数里面的内容,也就是第一篇讲的怎么播放。具体怎么实现。

0 0