本人菜鸟一族
问题如下:如何在一个窗体运行的同时添加背景音乐.问题很简单,并且音乐的音量,开关,都可以控制!!! 我是铁杆!!!!
望球!
感谢!!非常感谢!!!
问题如下:如何在一个窗体运行的同时添加背景音乐.问题很简单,并且音乐的音量,开关,都可以控制!!! 我是铁杆!!!!
望球!
感谢!!非常感谢!!!
解决方案 »
- 关于从多个条件中提取想得到的数据!
- [SOS菜鸟求助]计算机过级,VB程序求解!
- 请如何做成.exe的问题,请推荐个打包软件谢谢。分不够再加!!!
- 【简单问题】Listview控件项目的内容读取到出来【详细】
- 怎样去掉窗体的关闭按钮?
- VB设计的控件,如何从子窗体中得到控件的按钮属性呢
- 用什么保存邮件最好?数据库吗?有办法加密吗?
- 认能介绍几个比较好的国产邮件群发软件?
- VB程序员头疼的问题!如何做能在win2000下安装的安装程序?
- 知道局域网中其他计算机的IP,如何得到它的计算机名?
- DLL的Expires问题?(100)
- 在使用 Insert Into ... Select ... 中如何忽略"主键重复"错误并将未重复的数据写入?
Private FormOldHeight As Long '窗体的原始高度Public Sub ResizeInit(FormName As Form) '在调用ResizeForm前先调用本函数
Dim Obj As Control
FormOldWidth = FormName.ScaleWidth
FormOldHeight = FormName.ScaleHeight
On Error Resume Next
For Each Obj In FormName '为每一个对象取一个别名
Obj.Tag = Obj.Left & " " & Obj.Top & " " & Obj.Width & " " & Obj.Height & " "
Next Obj
On Error GoTo 0
End SubPublic Sub ResizeForm(FormName As Form) '按比例改变窗体内各对象的大小,在调用本函数前先调用ReSizeInit函数
Dim Pos(4) As Double
Dim i As Long, TempPos As Long, StartPos As Long
Dim Obj As Control
Dim ScaleX As Double, ScaleY As Double ScaleX = FormName.ScaleWidth / FormOldWidth '保存窗体宽度缩放比例
ScaleY = FormName.ScaleHeight / FormOldHeight '保存窗体高度缩放比例
On Error Resume Next
For Each Obj In FormName
StartPos = 1
For i = 0 To 4 '读取控件的原始位置与大小
TempPos = InStr(StartPos, Obj.Tag, " ", vbTextCompare)
If TempPos > 0 Then
Pos(i) = Mid(Obj.Tag, StartPos, TempPos - StartPos)
StartPos = TempPos + 1
Else
Pos(i) = 0
End If
Obj.Move Pos(0) * ScaleX, Pos(1) * ScaleY, Pos(2) * ScaleX, Pos(3) * ScaleY '按比例重新定位对象并改变对象大小
Next i
Next Obj
On Error GoTo 0
End SubPrivate Sub Form_Load()
Call ResizeInit(Me) '在程序装入时必须加入
End SubPrivate Sub Form_Resize()
Call ResizeForm(Me) '确保窗体改变时控件随之改变
End Sub
Private Sub CommandExit_Click()
End
End Sub
Text1.Top = 0
Text1.Width = Me.Width /2 - Text1.width / 2
End Sub这样你就可以把Text1定位到窗体的最上方的中央!但是如果控件较多,建议先放到容器(Frame,picbox)里,然后定位容器
~~
Public Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long
s = String(LenB(PathName), Chr(0))
GetShortPathName PathName, S, Len(S)
On Error Resume Next
ShortPathName = Left(S, InStr(S, Chr(0)) - 1)
mciSendString "open " & ShortPathName & " alias MyMIDI", vbNullString, 0, 0
mciSendString "play MyMIDI", vbNullString, 0, 0
mciSendString "play MyMidi FROM 0", 0&, 0, 0 开
mciSendString "stop MyMidi FROM 0", 0&, 0, 0 关
音量不会如果是wav格式是一句
sndPlaySound 路径,&O1
Public Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrRet ‘播放音乐的函数
Public Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long '通过这个函数把文件名转换,得到的是DOS的文件名一样格式,上面的函数才认识
s = String(LenB(PathName), Chr(0)) ‘pathneme 是你要播放的文件名,例“c:\Example.mid"
GetShortPathName PathName, S, Len(S)
On Error Resume Next
ShortPathName = Left(S, InStr(S, Chr(0)) - 1) 'shortpathname是格式转换后的文件名
mciSendString "open " & ShortPathName & " alias MyMIDI", vbNullString, 0, 0
mciSendString "play MyMIDI", vbNullString, 0, 0
mciSendString "play MyMidi FROM 0", 0&, 0, 0 开
mciSendString "stop MyMidi FROM 0", 0&, 0, 0 关
音量不会Public Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
如果是wav格式是一句
sndPlaySound “c:\test.wav",&O1 ’&01指音乐与程序同时运行
&0表示音乐播放完再做其他事详细了吧!