-
一个简单的MP3播放器
2004-06-14 17:23:00下面这段程序实现了MP3播放的大部分常规操作,对其稍加修改,做一个100KB大小的MP3播放器轻而易举 启动VB程序,在窗体上放置6个命令按钮,三个标签,一个公用对话框、一个进度条、一个状态栏和一个计时器,窗本的...利用API函数[mciSendString]可以轻松实现MP3音乐文件的播放。下面这段程序实现了MP3播放的大部分常规操作,对其稍加修改,做一个100KB大小的MP3播放器轻而易举
启动VB程序,在窗体上放置6个命令按钮,三个标签,一个公用对话框、一个进度条、一个状态栏和一个计时器,窗本的布置请参考附图
按钮"Open MP3 File"是用来打开对话框选择MP3文件,其他5个按钮分别为Play(播放)、Pause(暂停)、Stopplay(停止播放)、Back(向后跳跃)、Prew(向前跳跃)。Label1用来表示歌曲当前时间;label2放在时度条的最左边,Caption属性为"00:00";lable3放在时度条的右边,用来表示歌曲总长。
下面就可以编写代码了。首先在窗体的"通用声明"部分声明函数
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA"(Byval lpstrCommand As String,ByVal lpstrRetumString As String,ByVal uReturnLength As long,ByVal hwndCallback as long) As long
Dim mfn As String下面就是各个对象的代码了:
Private Sub Form_load()
mfn=""
play.Enabled=False
pause.Enabled=False
Stopplay.Enabled=False
back.Enabled=False
prew.Enabled=False
Timer1.Enabled=False
Timer1.Interval=500
End SubPrivate Sub open_Click()
On Error Goto err
With CommonDialog1
.CancelError=True
.Filter="音乐文件|*.mp3;*.wav;*.mid"
.Flags=cdlOFNNoChangeDir And cdlOFNPathMustExist
.Action=1
stopplay_Click '停止按钮同时可以设备初始化
mfn=.FileName '这个程序中文件名一定不能带空格
Form1.Caption=.FileName
play.Enabled=True
End With
play_Click
Exit Sub
err:
End SubPrivate Sub play_Click()
On Error Resume Next
Dim t As Long
t=mciSendString("open " + mfn,0&,0,0) 'Open后边的空格一定不能丢
Dim ret As String * 128
t=mciSendString("status " + mfn + " length",ret,128,0)
'显示歌曲总长
ret=Left(ret,8)
If ret<>"" Then
ProgressBar1.Min=0
ProgressBar1.Max=Val(ret)
Label3.Caption=gettime(Val(ret))
End If
play.Enabled=False
pause.Enabled=True
stopplay.Enabled=True
back.Enabled=True
prew.Enabled=True
t=mciSendString("status " + mfn +" mode",ret,128,0)
'得到设备的当前状态,是播放还是暂停等等
ret=Left(ret,8)
StatusBar1.Panels(1).text=ret
'在状态栏显示播放状态
t=mciSendString("play " + mfn + " form " + Str(ProgressBar1.Value),0&,0,0)
'开始播放
Timer1.Enabled=True
End SubPrivate Sub pause_Click()
t%=mciSendString("pause " + mfn,0&,0,0)
'发出暂停的命令
play.Enable=True
pause.Enabled=False
stopplay.Enabled=True
back.Enabled=False
prew.Enabled=False
End SubPrivate Sub stopplay_Click()
t%=mciSendString("stop " + mfn,0&,0,0)
t%=mciSendString("close " + mfn,0&,0,0)
'停止播放
play.Enabled=True
pause.Enabled=False
stopplay.Enabled=False
back.Enabled=False
prew.Enabled=False
End SubPrivate Sub back_Click()
t%=mciSendString("play " + mfn + " from " + Str(ProgressBar1.Value-(ProgressBar1.Max/10)),0&,0,0) '向后跳一小段再播放
End SubPrivate Sub prew_Click()
t%=mciSendString("play " + mfn + " from " + Stri(ProgressBar1.Value+(ProgressBar1.Max/10)),0&,0,0) '向前跳一小段再播放
End SubPrivate Sub Timer1_Timer()
Dim t As Long
Dim ret As String * 128
t=mciSendString("status " + mfn + " position",ret,0,0)
'得到当前播放位置
ret=left(ret,8)
ProgressBar1.Value=Val(ret)
Label1.Caption=gettime(Val(ret))
'显示歌曲当前时间
If ProgressBar1.Value=ProgressBar1.Max Then
stopplay_Click
End If
t=mciSendString("status " + mfn + " mode",ret,128,0)
ret=Left(ret,8)
StatusBar1.Panels(1).Text=ret
End SubPrivate Sub Form_Unload(Cacel As Integer)
t%=mciSendString("stop " + mfn,0&,0,0)
t%=mciSendString("close " + mfn,0&,0,0)
End SubPrivate Function Gettime(position As Long) As String
'这个函数的功能是把以长整型表示的时间转换为电子钟式的"**:**"
Dim min,sec
min=position/1000
min=min/60
sec=min-Int(min)
min=Int(min)
sec=60 * sec / 100
sec=Int(sec * 100)
gettime=Str(min) + ":" + Str(sec)
End Function图中5个控制按钮,其实是把字体设为"Webdings",让它们的Caption属性分别为"4" ";" "<" "7" "8"
就可以了 -
界面 控件位置随窗体自动调整适应_VB界面设计的对象(4)
2021-01-12 05:57:06学习界面设计的4个对象:窗体、命令按钮、标签、文本框1、窗体Form 窗体文件扩展名.frm窗体是放置VB提供的各种控件的一个容器,在窗体上设计和编辑应用程序的界面。窗体的添加(工程→添加窗体);修改(在窗体设计器中...学习界面设计的4个对象:窗体、命令按钮、标签、文本框
1、窗体Form 窗体文件扩展名.frm
窗体是放置VB提供的各种控件的一个容器,在窗体上设计和编辑应用程序的界面。
窗体的添加(工程→添加窗体);修改(在窗体设计器中修改);删除(工程资源管理器)。
每日I积累
2、窗体常用的属性: name(每个控件对象必须有的、不能重复的、区分作用、写代码时引用)
位置: top 和left
大小: width 和height
caption font enabled visible backcolor
3、事件: Load(加载)、Click、 DblClick、 Unload(卸载)、 Resize、Queryunload (查询卸载)
4、窗体的方法: Show、 Hide、Move、Print、 Cls、Refresh
坚持I打卡
5、设置启动窗体:应用程序有单窗体、多窗体情况,多窗体时可指定程序从哪一个窗体或是Sub Main开始执行:
◆设置启动窗体:工程属性→通用→启动对象
◆不使用启动窗体:以一个过程开始,选择Sub Main
Sub Main:如果一应用程序只包含1个窗体,则程序从执行窗体Form的load过程开始。如果有多个窗体,则从设计阶段建立的第1个窗体开始执行。有时,希望在运行窗体程序之前先执行一些操作, 此时可以将这些操作写在Sub Main过程中。
Sub Main是在模块中定义的,如果1个程序中包含有多个模块,只能允许有1个Sub Main过程。SubMain过程中可以包含若干语句。但它与其他语言中的主程序不同,程序启动时不会自动执行。
收获I累累
5、按钮Command 按钮控件 命令按钮
按钮的属性: name、 caption、 height、 width、left、top、 enabled、 visible、font
按钮的事件: Click
方法: Move、Setfocus 获得焦点
6、文本控件:标签 Label 文本框 TextBox
标签:只能输出(显示)文本;
文本框:输入、输出(显示)文本,没有Caption属性,文本框中显示的内容是Text属性
喜欢就多多关注我哦!
-
在Web网页上使用ActiveX控件
2009-09-07 23:01:23如果能将ActiveX控件像放置到VB窗体上一样...通常在一个Web网页上显示一个ActiveX控件要使用HTML的OBJECT标识,将一个命令按钮插入到网页中的标识如下: 〈OBJECT ID=″CommandButton1″ WIDTH=96 HEIGHT=32 ...如果能将ActiveX控件像放置到VB窗体上一样方便地放置到Web网页上,然后通过VBScript来访问控件的属性和方法,可以为你的网页增色不少,同时也能大大简化网页设计过程。通常在一个Web网页上显示一个ActiveX控件要使用HTML的OBJECT标识,将一个命令按钮插入到网页中的标识如下:
〈OBJECT ID=″CommandButton1″ WIDTH=96 HEIGHT=32
CLASSID=″CLSID:D7053240-CE69-11CD-A777-00DD01143C57″〉
〈PARAM NAME=″Caption″ VALUE=″Click Me″〉
〈PARAM NAME=″Size″ VALUE=″2540;846″〉
〈PARAM NAME=″FontName″ VALUE=″System″〉
〈PARAM NAME=″FontEffects″ VALUE=″1073741825″〉
〈PARAM NAME=″FontCharSet″ VALUE=″134″〉
〈PARAM NAME=″FontPitchAndFamily″ VALUE=″34″〉
〈PARAM NAME=″ParagraphAlign″ VALUE=″3″〉
〈PARAM NAME=″FontWeight″ VALUE=″700″〉
〈/OBJECT〉
OBJECT具有几个参数,CLASSID是Windows用来注册ActiveX控件的类标识,PARAM初始化该控件的属性,定义好控件后就可以为这个控件编写必要的代码来响应事件了。不难看出,用上述的方法进行控件的定义是很繁琐的,有没有更简便的方法将ActiveX控件放到Web页面上呢?有,它就是ActiveX Control Pad,这个工具软件可以从微软的站点上下载。
ActiveX Control Pad提供了四个构件,可以大大简化网页的设计:Text Editor(HTML文档编辑器)、Object Editor(直观地改变控件大小和属性)、HTML Layout Editor(HTML布局编辑器,用于生成HTML的布局)、Script Wizard(脚本向导程序)。
运行ActiveX Control Pad后,在编辑器中输入HTML标识可生成Web页面,需要插入ActiveX控件时,选择Edit→Insert ActiveX Control就会打开如下窗口:
选择你所要的ActiveX控件后会出现相应的属性窗口,通过它可以设置控件的属性。一切工作做完后,关闭控件窗口,相应的HTML代码已经插入到HTML文档中了。要建立一个HTML布局,操作步骤如下:File→New HTML Layout,打开Layout和Toolbox窗口,Layout窗口类似VB的设计窗体,可以方便地在上面放置各种控件,要加入VBScript的脚本,用右键单击Layout窗体,选择Script Wizard,在1号窗选择相应的控件和事件,在下方的代码视窗中输入代码即可。完成HTML布局后,保存退出。在HTML文档中需要插入布局的地方进行如下操作:Edit→Insert HTML Layout,选择好Layout文件后,在文档中会插入相应的代码。这样你可以非常方便地生成一个活动的Web页面,这个页面能更好地与用户进行交互。有兴趣的朋友不妨一试,相信您一定会喜欢它的。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/peter824/archive/2007/07/11/1685387.aspx -
在Web网页上使用ActiveX控件
2007-07-11 15:53:00如果能将ActiveX控件像放置到VB窗体上一样方便地放置...通常在一个Web网页上显示一个ActiveX控件要使用HTML的OBJECT标识,将一个命令按钮插入到网页中的标识如下: 〈OBJECT ID=″CommandButton1″ WIDTH=96 HEIGHT=32如果能将ActiveX控件像放置到VB窗体上一样方便地放置到Web网页上,然后通过VBScript来访问控件的属性和方法,可以为你的网页增色不少,同时也能大大简化网页设计过程。通常在一个Web网页上显示一个ActiveX控件要使用HTML的OBJECT标识,将一个命令按钮插入到网页中的标识如下:
〈OBJECT ID=″CommandButton1″ WIDTH=96 HEIGHT=32
CLASSID=″CLSID:D7053240-CE69-11CD-A777-00DD01143C57″〉
〈PARAM NAME=″Caption″ VALUE=″Click Me″〉
〈PARAM NAME=″Size″ VALUE=″2540;846″〉
〈PARAM NAME=″FontName″ VALUE=″System″〉
〈PARAM NAME=″FontEffects″ VALUE=″1073741825″〉
〈PARAM NAME=″FontCharSet″ VALUE=″134″〉
〈PARAM NAME=″FontPitchAndFamily″ VALUE=″34″〉
〈PARAM NAME=″ParagraphAlign″ VALUE=″3″〉
〈PARAM NAME=″FontWeight″ VALUE=″700″〉
〈/OBJECT〉
OBJECT具有几个参数,CLASSID是Windows用来注册ActiveX控件的类标识,PARAM初始化该控件的属性,定义好控件后就可以为这个控件编写必要的代码来响应事件了。不难看出,用上述的方法进行控件的定义是很繁琐的,有没有更简便的方法将ActiveX控件放到Web页面上呢?有,它就是ActiveX Control Pad,这个工具软件可以从微软的站点上下载。
ActiveX Control Pad提供了四个构件,可以大大简化网页的设计:Text Editor(HTML文档编辑器)、Object Editor(直观地改变控件大小和属性)、HTML Layout Editor(HTML布局编辑器,用于生成HTML的布局)、Script Wizard(脚本向导程序)。
运行ActiveX Control Pad后,在编辑器中输入HTML标识可生成Web页面,需要插入ActiveX控件时,选择Edit→Insert ActiveX Control就会打开如下窗口:
选择你所要的ActiveX控件后会出现相应的属性窗口,通过它可以设置控件的属性。一切工作做完后,关闭控件窗口,相应的HTML代码已经插入到HTML文档中了。要建立一个HTML布局,操作步骤如下:File→New HTML Layout,打开Layout和Toolbox窗口,Layout窗口类似VB的设计窗体,可以方便地在上面放置各种控件,要加入VBScript的脚本,用右键单击Layout窗体,选择Script Wizard,在1号窗选择相应的控件和事件,在下方的代码视窗中输入代码即可。完成HTML布局后,保存退出。在HTML文档中需要插入布局的地方进行如下操作:Edit→Insert HTML Layout,选择好Layout文件后,在文档中会插入相应的代码。这样你可以非常方便地生成一个活动的Web页面,这个页面能更好地与用户进行交互。有兴趣的朋友不妨一试,相信您一定会喜欢它的。 -
Visual C++ 编程资源大全(源码 窗体)
2007-10-19 22:27:22COOL(15KB)<END><br>50,ProperWnd.zip 属性页放置在窗口的指定位置(58KB)<END><br>51,pushpin.zip 在属性页的左边加入一个图钉按纽,熟悉Microsoft Developer Stdio的朋友一定很熟悉(16KB)<END><br>52,... -
生成随机数
2012-05-30 20:57:25实验步骤: 1. 在窗体上放置三个...放置一个命令按钮,并在属性值中输入“生成随机数”。 2. 编写程序代码 双击窗体中的命令按钮在代码窗口编写click事件过程,代码如下: Dim M as Integer Dim N as Integ -
VB作业之生成随机数
2012-04-08 15:00:36一. 实验步骤: 1. ...放置一个命令按钮,并在属性值中输入“生成随机数”。 2. 编写程序代码 双击窗体中的命令按钮在代码窗口编写click事件过程,代码如下: Dim M as Integer -
用Int和Rnd函数生成指定范围的随机整数
2012-04-24 15:55:30在窗体上放置三个文本框,分别用于输入随机数的上界和下界,显示生成的随机整数;一个命令按钮用于执行随机整数的生成和显示;三个标签,用于对文本框作简要说明。 输入代码如下: Private Sub Command1_Click() ... -
vs.net IDE 结构
2021-02-09 15:33:51可以通过在窗体上放置控件来为应用程序创建用户界面 3.代码设计器窗口 在应用程序窗体中双击鼠标即可进入代码窗口,通过在代码设计器窗口中编写窗体中vb.net教程的对象的事件代码 4.工具箱窗口 通过工具箱窗口可以向... -
生成随机整数
2012-05-29 20:47:12在窗体上放置三个文本框,分别用于输入随机数的上界和下界,显示生成的随机整数;一个命令按钮用于执行随机整数的生成和显示;三个标签,用于对文本框作简要说明。 输入代码如下: Private Sub Command1_Click() ... -
showmodule
2012-04-09 08:35:00首先,你仔细看一看,所有的... 平时,ModalResult属性没什么用处,但如果命令按钮放置到用showmodal显示(模态显示,一般用于显示对话框)的窗体上时,就大大的有用了。 作用体现在: 1、当设置命令按钮的ModalRes... -
if form1.showmodal=mrok then
2013-11-13 16:27:39平时,ModalResult属性没什么用处,但如果命令按钮放置到用showmodal显示(模态显示,一般用于显示对话框)的窗体上时,就大大的有用了。 作用体现在: 1、当设置命令按钮的ModalResult属性为 -
一款非常好的WPF编程宝典2010 源代码
2014-04-14 09:57:419.2.5 在另外一个页面中宿主页面 212 9.2.6 在Web浏览器中宿主页面 213 9.3 页面历史 214 9.3.1 深入分析WPF中的URI 214 9.3.2 导航历史 215 9.3.3 维护自定义的属性 216 9.4 导航服务 217 9.4.1 通过编程... -
VB程序设计综合复习题
2009-11-15 11:27:522、当窗体上有三个文本框和一个命令按钮,若程序运行时,焦点定位在第三个文本框(Text3)处,应对何控件的什么属性进行何种设置? 3、若要对窗体上的三个文本框输入数据,个控件焦点的移动可通过Tab键(系统本身... -
2—1 VB6.0的集成开发环境
2009-12-30 17:48:58当我们要修改一个控件的属性值时,我们首先需要在窗体上选中所要修改的控件,属性窗口中的各属性将自动变为当前选中控件的属性,然后在属性窗口右边的部分修改相应属性的值。 例如:属性窗口的标题是“属性—Forml... -
MFC教程.zip
2018-09-20 21:41:3210.4 例49 在按钮上放置位图 190 10.5 例50 动态填充一个组合框 192 10.6 例51 排序一个列表控件 194 10.7 例52 分隔线控件 196 第11章 绘图 198 11.1 例53 绘制图形 198 11.2 例54 绘制文本 201 11.3 例55 从任意... -
Visual C++ MFC编程实例.PDF
2016-05-25 16:12:2310.4 例49 在按钮上放置位图 190 10.5 例50 动态填充一个组合框 192 10.6 例51 排序一个列表控件 194 10.7 例52 分隔线控件 196 第11章 绘图 198 11.1 例53 绘制图形 198 11.2 例54 绘制文本 201 11.3 例55 从任意... -
一点通路由模拟软件 (模拟思科2600路由器)
2008-10-23 15:48:47图一是路由模拟软件的主操作窗体,在设计网络拓朴结构时,根据需要放置网络设备,可以加入的设备包括:6个路由器、6个交换机、8个计算机,计算机模拟了linux7.3的环境,具有设置和查看IP、网关的功能,可以执行ping... -
vc-mfc编程实例.rar
2010-08-27 15:32:2110.4 例49 在按钮上放置位图 190 10.5 例50 动态填充一个组合框 192 10.6 例51 排序一个列表控件 194 10.7 例52 分隔线控件 196 第11章 绘图 198 11.1 例53 绘制图形 198 11.2 例54 绘制文本 201 11.3 例55 从任意... -
MFC 编程(PDF)
2010-12-02 15:30:5610.4 例49 在按钮上放置位图 190 10.5 例50 动态填充一个组合框 192 10.6 例51 排序一个列表控件 194 10.7 例52 分隔线控件 196 第11章 绘图 198 11.1 例53 绘制图形 198 11.2 例54 绘制文本 201 11.3 例55 从任意... -
MFC实例 C++ MFC编程实例
2011-03-20 23:50:0810.4 例49 在按钮上放置位图 190 10.5 例50 动态填充一个组合框 192 10.6 例51 排序一个列表控件 194 10.7 例52 分隔线控件 196 第11章 绘图 198 11.1 例53 绘制图形 198 11.2 例54 绘制文本 201 11.3 例55 从任意... -
VisualC++ MFC 编程实例
2009-08-04 16:28:2810.4 例49 在按钮上放置位图 190 10.5 例50 动态填充一个组合框 192 10.6 例51 排序一个列表控件 194 10.7 例52 分隔线控件 196 第11章 绘图 198 11.1 例53 绘制图形 198 11.2 例54 绘制文本 201 11.3 例55 从任意... -
Excel VBA实用技巧大全 附书源码
2010-10-08 18:59:2401015获取在Excel主窗口中一个窗口所能占有的最大高度和宽度 01016获取当前打印机名称 01017获取MicrosoftExcel剩余内存 01018获取MicrosoftExcel的总内存 01019获取计算机被Excel占用的内存 01020改变Excel窗口大小... -
Excel_VBA教程
2014-09-22 11:36:3419.在窗体上放置控件 202 20.应用程序示例1:信息调查 202 21.在窗体上添加按钮、选项框和其它控件 204 22.更改控件名称 206 23.设置其它控件属性 206 24.准备工作表以储存窗体数据 207 25.显示自定义窗体 208 26.... -
arcgis工具
2012-10-22 22:37:31方法二:图斑之间有小的缝隙,可以先在缝隙上任意补画一个图斑,然后合并(merge)图斑,最后再剪切(Clip)即可得到无缝的图斑。 如下图所示: 24.利用两个相交图斑创建新图斑。 两个图斑都选中然后 Eidtor 工具... -
C#编程经验技巧宝典
2008-06-01 08:59:3372 <br>0102 将字符串首字母转换大写 72 <br>0103 如何进行字节数组和字符串的相互转换 72 <br>0104 如何把一个按空格分割的字符串存储在一个ArrayList数组中 73 <br>4.2 获取字符串信息 73 ... -
易语言程序免安装版下载
2011-04-07 09:28:50操作系统界面功能支持库(shell.fne)中的“执行()”命令增加一个参数“窗口显示方式”,作用与核心库“运行()”命令的同名参数一致。 6. 数据库操作支持库增加读写长整数字段的功能,但受限于系统接口暂不能读写... -
支持图片地图,设备按钮可以在图片地图上自由拖动自动保存位置信息。 在百度地图和图片地图上,双击视频可以预览摄像头实时视频。 堆栈窗体,每个窗体都是个单独的qwidget,方便编写自己的代码。 顶部鼠标右键菜单,...
-
装备制造行业智能制造方案.pptx
-
MongoDB按时间年月日查询数据
-
基于遗传算法的平面阵列阵列稀疏(matlab程序).zip
-
OC.Gen-X.2.9.2.dmg
-
网站优化中为什么说排名第一就是品牌?
-
MySQL Router 实现高可用、负载均衡、读写分离
-
pytorch dataloader食用指南,附上个人使用代码
-
139网站可用性测试报告.pdf
-
摄影测量之空间后方交会程序.zip
-
基于Flink+Hudi构建企业亿级云上实时数据湖教程(PC、移动、小
-
联想EXCEL培训资料.ppt
-
质量保证书-源码
-
360手机卫士模块结构图(wainshine制作)[1].jpeg
-
CentOS 命令行模式图形界面模式切换
-
PowerBI重要外部工具详解
-
Sandwich Transformers 架构
-
Web前端开发规范手册.rar
-
机器视觉学习基础绪论及应用
-
利用OpenCV获取二维高斯核(Python实现)
-
基于Qt的LibVLC开发教程