devxlogo

Play an AVI movie in a PictureBox control

Play an AVI movie in a PictureBox control

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.

devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist