怎么用VB中的PictureBox播放视频?

2025-04-04 18:46:52
推荐回答(2个)
回答1:

窗体上加2个PictureBox和3个Command,C盘C:\要有123.avi文件。

' 在窗体上加2个PictureBox和3个Command。
Option Explicit
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
Private Declare Function CreateDC Lib "gdi32" Alias "CreateDCA" (ByVal lpDriverName As String, ByVal lpDeviceName As String, ByVal lpOutput As String, lpInitData As Long) As Long
Private Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hdc As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
Private Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function EmptyClipboard Lib "user32" () As Long
Private Declare Function SetClipboardData Lib "user32" (ByVal wFormat As Long, ByVal hMem As Long) As Long
Private Declare Function CloseClipboard Lib "user32" () As Long
Private Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long
Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Private Const CCHDEVICENAME = 32
Private Const CCHFORMNAME = 32
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Sub Command1_Click()
mciSendString "close avi", 0, 0, 0
mciSendString "open c:\123.avi alias avi parent " & Picture1.hwnd & " style child", 0, 0, 0
mciSendString "play avi", 0, 0, 0
End Sub
Private Sub Command2_Click()
mciSendString "pause avi", 0, 0, 0
End Sub
' 将屏幕中指定区域的图像复制到剪贴板
' 例: ScreenCapture 0, 0, Screen.Width / 15, Screen.Height / 15
' object.Picture = Clipboard.GetData()
Function ScreenCapture(ByVal Left As Integer, ByVal Top As Integer, ByVal Right As Integer, ByVal Bottom As Integer) As Boolean
Dim rWidth As Integer, rHeight As Integer
Dim SourceDC As Long, DestDC As Long, bHandle As Long, dHandle As Long, wnd As Long
rWidth = Right - Left
rHeight = Bottom - Top
SourceDC = CreateDC("DISPLAY", 0, 0, 0)
DestDC = CreateCompatibleDC(SourceDC)
bHandle = CreateCompatibleBitmap(SourceDC, rWidth, rHeight)
SelectObject DestDC, bHandle
BitBlt DestDC, 0, 0, rWidth, rHeight, SourceDC, Left, Top, &HCC0020
wnd = Screen.ActiveForm.hwnd
OpenClipboard wnd
EmptyClipboard
ScreenCapture = SetClipboardData(2, bHandle)
CloseClipboard
DeleteDC DestDC
ReleaseDC dHandle, SourceDC
End Function
Private Sub Command3_Click()
Dim picRect As RECT
GetWindowRect Picture1.hwnd, picRect
ScreenCapture picRect.Left, picRect.Top, picRect.Right, picRect.Bottom
Picture2.Picture = Clipboard.GetData
End Sub
Private Sub Form_Load()
Picture1.Appearance = 0
Picture2.Appearance = 0
Command1.Caption = "播放"
Command2.Caption = "暂停"
Command3.Caption = "抓图"
End Sub

回答2:

病情分析:
一岁半的宝宝如果是缺钙一般建议可以选择口服液体钙剂(如葡萄糖酸钙口服液)进行补充。
指导意见:
液体钙有利宝宝肠道吸收,但补钙一般建议宝宝睡前口服,因为夜间血钙浓度是低的,同时宝宝的补钙建议同时进行VD的补充。

病情分析:
一岁半的宝宝如果是缺钙,可以吃贝特令和活性钙治疗。
指导意见:
你好,孩子小的时候是缺D,而不是缺钙,所以要服用促进钙吸收的D,贝特令就是,同时可以适当吃一些容易吸收的活性钙,注意让还是在屋外多活动,副食要多样化,希望我的回答对你有所帮助。

病情分析:
你好,由于孩子生长发育较快,饮食中钙的含量较少,不及时补充就容易发生缺钙的情况。目前孩子的表现就是有缺钙引起的、
指导意见:
建议补钙.常用的药物有迪巧,鱼肝油等药物。可以说效果较好,连用一个月,就会有明显的效果。可以说孩子服用鱼肝油即可,祝宝宝健康