课程设计报告。
课程设计题目: 个性化多****器
学生姓名:李汉忠。
专业:软件工程(电子商务)
班级:10211123
学号:1021112336
指导教师:赵玉芹。
2023年 5月 30 日。
目录。第一章算法分析页码)
第二章工作日志。
第三章关键实现技术。
第四章设计小结………
一、算法分析。
1. 目录选择对话框 :
根据要实现的功能。添加相应的选择对话框。如**按钮。快进。后退,暂停,打开文件。。隐藏文件夹,进度条。时间计时器。
2.文件的读入。可以预先添加几首歌曲。或从本地的文件夹中加进来。
3. 进度条的制作 ,其中两点需要注意:
标准的进度条定位不准确,自己派生它,重写onlbuttondown.
2.外观,重写onpaint,全部自己画,或者借助换肤工具,如skinmagic(收费)之类,重写文件。
主要的函数有。
void cownerprogressctrl::onpaint()
getclientrect(&rc); 得到当前绘图区域
int nlow=0,nhigh=0;
getrange(nlow,nhigh);
int npos=getpos();
float fpersent=(float)npos/(nhigh-nlow);
cbitmap membmp;
cbitmap *poldbmp=
graphics graphics(
rect rect(
lineargradientbrush lbrush(rect,color(100,0,255,0),color(150,0,0,255),lineargradientmodehorizontal);
if( m_pimage==null )
return;
if( !m_ )
fontfamily fontfamily(_t("宋体"))
font font(&fontfamily,10);
solidbrush sbrush(color(200,255,255,255));
stringformat stringformat;
pointf point(
4.各种**的植入。
可以利用函数setbitmap/getbitmap设置/得到当前显示的位图,控制显示的图标可利用函数seticon/geticon设置/得到当前显示的图标。运用到的函数有:setwindowpos和birblt函数。
5.定时器使用
定时器是用来计算****了多少时间。其主要实现函数是:ontime()。
6. 美化界面。添加彩色标题条,彩色标题文字。等等。利用插入功能和resourceview可以对其做美化工作。
7.列出自定义或添加的函数及说明主要功能。
selectfolder():选择要打开的文件。
setstatustext():设置状态文本。
settitle():建立标签。
onbuttonback():**后一首歌曲。
onbuttonend():结束**,下次**从头再来。
onbuttonfirst()和onbuttonlist():**第一首曲目和最后一首。
onbuttonforward() **鼠标所选曲目。
onbuttonloop() 循环**文件中的曲目。
onbuttonpause():暂停**,下次**继续这个位置。
onbuttonplay():开始****。
onlbuttondown():**下一曲。
onlbuttonup():**上一首曲子。
onbuttonclose():关闭**器。
onbuttonmin():最小化**器。
ondestroy():删除选中的**文件。
onfileplayed()**添加进来的文件。
startplay():文件导入后。选中鼠标双击**。
onfilechange():选择文件。
onhscroll():滚动鼠标选择**文件。
init():初始化**器。
onmousemove():鼠标事件的处理。
onkeyup():键盘选择曲目。向上选取。
onkeydown():向下选取曲目,用键盘。
二、工作日志。
1、 本程序设计的是一个简单的*****器,其功能就是能。
够**常见的音频文件,如***,wmv以及wma格式的**文件。当然改程序也可以实现一般**软件那样的快进快退,切歌的功能以及终止和暂停的操作功能,而音频文件可以直接拖入**器,也可以从本地文件中直接读取。本程序还能在**歌曲中,显示歌曲的频谱,以及**的进度。
也能通过选择按钮来选歌,或者删除歌曲,另外通过按钮点击,可以保存一个简单的**列表。
在运行后,本程序还是存在一些问题,比如说读入文件速度较慢,而且已些码率较高的音频文件的**效果不是很好,有些甚至不能**,也没有均衡器设置功能,且不能自命名**列表。由此可见,本程序和一些常用的****软件如千千静听之间的差距还是很大,有些操作很缺乏人性化,这导致用户使用起来会很不方便。所以应该对程序进行进一步的的完善。
设计出一个可以设置音效的功能模块,通过点击相关按钮可以自己选择相应效果,当然这对程序要求很高,另外可以在菜单项中增加一个菜单项“重命名”,当需要自主命名**列表时自己选择即可。
三、关键实现技术。
1.利用appendmenu(),insertmenu()和chenkmenuitem()函数等对程序界面和显示菜单的设计,2.利用loadimage(),loadbitmap()和deleteobject()函数实现位图的读入操作。
3.利用函数setbitmap/getbitmap设置/得到当前显示的位图,函数seticon/geticon设置/得到当前显示的图标,从而实现static控件显示位图。
4.利用windowplacement结构和getwindowplacement函数。实现静态文本控件的移
5.利用classwizard类向导添加消息处理函数,添加新类。如程序中的自定函数,就可以用向导来完成。
6.对鼠标事件的处理。在程序中当鼠标单击到**是对应的**应该做出相应的位移动作。
7.对话框数据交换ddx和验证ddv,利用cdataexchenge类实现。
8.有关图形设备(gdi)的接口问题。设备环境如:onpaint()函数,坐标系和映射模式:如onlbuttondown()函数。
9.mfc消息管理,它包括消息的发送和处理两个过程。提供了类似于api函数功能的消息发送函数,和手工处理消息映射。
10.运用了有关c++面向对象程序设计中的部分知识点,如:继承,派生类,虚构函数,输入输出流库,等等。。。
11.mfc中自定义函数的定义方法,及其使用。
12.对程序的调试和错误处理。多利用msdn解决有关问题!
四、设计小结。
通过这一周的课程设计,明白了有关vb的一部分知识,比如菜单的设计,和位图的。
取,鼠标事件的处理,还有就是对话框和控件的使用,也学会如何利用子窗口,并在自定义的子窗口包含多个控件达到封装功能的目的。也知道,在程序设计中体现人性化是多么困难和必要的一件任务。第一次完成这样大型的程序设计,难度很大,一开始几乎就无从下手,但通过对常用**器的功能分析,以及和同学之间的讨论学习,最后还是按时一步步地完成了程序的功能**,而这整个过程,又让我对vb加深了理解,一些平时认为没什么用的理论知识也在这次课设中体现了它们的价值。
确实vb 很难学,但我相信,只要有信心和兴趣,积极动手编程,在长期的积累下,还是可以学好和运用的。
附录(**)
private sub a_click(index as integer)
unload form1
unload form3
unload form4
unload form5
unload form6
end sub
private sub b_click(index as integer)
unload form1
unload form2
unload form4
unload form5
unload form6
end sub
private sub c_click(index as integer)
unload form1
unload form3
unload form2
unload form5
unload form6
end sub
private sub command1_click()
= false
= true
= false
= false
= false
= false
end sub
private sub command2_click()
= false
= false
= true
= false
= false
= false
end sub
private sub command3_click()
= false
= false
= false
= true
= false
= false
end sub
private sub command4_click()
= false
= false
= false
= false
= true
= false
end sub
private sub d_click(index as integer)
unload form1
unload form3
unload form2
VB课程设计
在本系统的设计中,主要实现如下一些功能 学习 测试 成绩统计与分析。其中,学习 部分要求教100以内的加 减 乘和除 测试 模块要求随机给出参与运算的数及运算类型,并判断用户的答案,测试完给出得分 成绩统计与分析 模块能够统计成绩各种运算的平均成绩,并画出成绩分布的曲线图或柱状图。欢迎界面 登录界面...
VB课程设计
基于vb的温湿度测试分析系统 1 概述。高精度的温湿度测试计与电脑等上位机相连,发挥电脑的数字处理运算的优势,对校验数据进行采集 智能修正 运算等,最后得出校验误差等结果并打印出校验单,省去人工计算 填表等麻烦。本温湿度测试分析系统设计,要求高精度的温湿度测试计通过rs 232串口与上位机电脑相连,...
vb课程设计
目录。摘要i第一章系统分析 1 第二章系统实现 6 第三章系统调试 8 第四章使用说明 12 总结 17 附录 18 1源 18 2参考资料 27 今天,企业要获得成功,就必须正视构建和维护日益复杂的信息技术解决方案的需求。此外,他们还要借助于新技术来拓展业务功能并开发全新的业务机会。自信息部门接受...