With MCI functions you can play an AVI movie into a PictureBox. All you need to do is open the file with a special procedure:
Declare Function mciSendString Lib "winmm" Alias "mciSendStringA" (ByVal _ lpstrCommand As String, ByVal lpstrReturnString As String, _ ByVal uReturnLength As Long, ByVal hwndCallback As Long) As LongConst WS_CHILD = &H40000000CommandString = "Open " + FileName + " type AVIVideo alias AVIFile parent " & _ CStr(Pic.hWnd) & " style " & CStr(WS_CHILD)RetVal = mciSendString(CommandString, vbNullString, 0, 0)
where FileName is the path of the file and Pic is the PictureBox control inside which you want to play the movie. To resize the movie and fill the PictureBox use these statements:
Dim Height as Long, Width as LongHeight = Pic.ScaleHeight / Screen.TwipsPerPixelYWidth = Pic.ScaleWidth / Screen.TwipsPerPixelXCommandString = "Put AVIFile window at 0 0 " & CStr(Width) & " " & CStr(Height)RetVal = mciSendString(CommandString, vbNullString, 0, 0)
If you want to mantain the original aspect ratio, you have to retrieve the original size of the movie and resize the PictureBox accordingly before running this command. When the file is opened you can use the usual command strings to control the playback.