您的位置:首页 > 编程语言 > VB

--==vb6中用图片框任意大小播放AVI电影(New)==--

2007-12-17 10:37 363 查看
新建工程,增加一个bas模块加入一个MCI控件,一个command按钮和一个图片框,设置form的
ScaleMode property为 Pixels (3).
.BAS 文件代码:
Type RECT      Left As Long      Top As Long      Right As Long      Bottom As Long   End Type   Type MCI_OVLY_RECT_PARMS      dwCallback As Long      rc As RECT   End Type   Global Const MCI_OVLY_WHERE_SOURCE = &H20000   Global Const MCI_OVLY_WHERE_DESTINATION = &H40000   Global Const MCI_WHERE = &H843      Declare Function mciSendCommand Lib "winmm.dll" _      Alias "mciSendCommandA" ( _         ByVal wDeviceID As Long, _         ByVal uMessage As Long, _         ByVal dwParam1 As Long,         dwParam2 As Any) As Long   Declare Function mciGetErrorString Lib "winmm.dll" _      Alias "mciGetErrorStringA" ( _         ByVal dwError As Long, _         ByVal lpstrBuffer As String, _         ByVal uLength As Long) As Long


Command1_Click()事件:

Sub Command1_Click ()      Const MB_OK = 0      Const MB_ICONSTOP = 16      Dim Retval&, Buffer$      Dim dwParam2 As MCI_OVLY_RECT_PARMS      MMControl1.Command = "Close"      MMControl1.Filename = "WndSurf1.avi"  '
MMControl1.hWndDisplay = Picture1.hWnd      MMControl1.Command = "Open"      '初始化
dwParam2.dwCallback = MMControl1.hWnd      dwParam2.rc.Left = 0      dwParam2.rc.Top = 0      dwParam2.rc.Right = 0      dwParam2.rc.Bottom = 0      '发送消息
Retval& = mciSendCommand(MMControl1.DeviceID, MCI_WHERE,                MCI_OVLY_WHERE_SOURCE, dwParam2)      If Retval& <> 0 Then  '错误发生.         Buffer$ = Space$(100)         'Get a description of the error:         Retval& = mciGetErrorString(Retval&, Buffer$, Len(Buffer$))         MsgBox Trim$(Buffer$), MB_OK + MB_ICONSTOP, "ERROR"      Else         '改变picture box大小:         Picture1.Width = dwParam2.rc.right - dwParam2.rc.left         Picture1.Height = dwParam2.rc.bottom - dwParam2.rc.top         '播放电影
MMControl1.Wait = True ' Wait for the next command to complete         MMControl1.Command = "play" 'Play the video clip         MMControl1.Command = "close"      End If   End Sub


按f5运行程序

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=5690
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: