用DirectX,这段代码不知是否对你有帮助
Option ExplicitDim objDX As New DirectX7
Dim objDD As DirectDraw7
Dim objDDPrimSurf As DirectDrawSurface7
Dim objDDBackSurf As DirectDrawSurface7
Dim objDDOffSurf As DirectDrawSurface7
Dim ddsd1 As DDSURFACEDESC2
Dim ddsd2 As DDSURFACEDESC2
Dim r1 As RECT
Private Sub Form_Load()
Init
End SubPrivate Sub Form_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single)
EndIt
End SubSub Init()
Set objDD = objDX.DirectDrawCreate("")
Call objDD.SetCooperativeLevel(Me.hWnd, DDSCL_FULLSCREEN Or DDSCL_ALLOWMODEX Or DDSCL_EXCLUSIVE)
objDD.SetDisplayMode 640, 480, 16, 0, DDSDM_DEFAULT
'设定640x480 16万色的显示模式ddsd1.lFlags = DDSD_CAPS Or DDSD_BACKBUFFERCOUNT
ddsd1.lBackBufferCount = 1
ddsd1.ddsCaps.lCaps = DDSCAPS_PRIMARYSURFACE Or DDSCAPS_FLIP Or DDSCAPS_COMPLEX
Set objDDPrimSurf = objDD.CreateSurface(ddsd1)
'建立Primary surfaceDim caps As DDSCAPS2
caps.lCaps = DDSCAPS_BACKBUFFER
Set objDDBackSurf = objDDPrimSurf.GetAttachedSurface(caps)
'建立BackBuffer surfaceddsd2.lFlags = DDSD_CAPS Or DDSD_HEIGHT Or DDSD_WIDTH
ddsd2.ddsCaps.lCaps = DDSCAPS_OFFSCREENPLAIN
ddsd2.lWidth = 640
ddsd2.lHeight = 480
Set objDDOffSurf = objDD.CreateSurfaceFromFile("img.bmp", ddsd2)
'建立一个Offscreen surface,并将img.bmp图档读入
'img.bmp 的路径请自行更改r1.Right = 640
r1.Bottom = 480objDDBackSurf.BltFast 0, 0, objDDOffSurf, r1, DDBLTFAST_WAIT
'复制图片
objDDPrimSurf.Flip Nothing, DDFLIP_WAIT '翻转End SubSub EndIt()
Call objDD.RestoreDisplayMode '重置显示模式
Call objDD.SetCooperativeLevel(Me.hWnd, DDSCL_NORMAL)
'设定为一般的GDI模式
End
End Sub
Option ExplicitDim objDX As New DirectX7
Dim objDD As DirectDraw7
Dim objDDPrimSurf As DirectDrawSurface7
Dim objDDBackSurf As DirectDrawSurface7
Dim objDDOffSurf As DirectDrawSurface7
Dim ddsd1 As DDSURFACEDESC2
Dim ddsd2 As DDSURFACEDESC2
Dim r1 As RECT
Private Sub Form_Load()
Init
End SubPrivate Sub Form_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single)
EndIt
End SubSub Init()
Set objDD = objDX.DirectDrawCreate("")
Call objDD.SetCooperativeLevel(Me.hWnd, DDSCL_FULLSCREEN Or DDSCL_ALLOWMODEX Or DDSCL_EXCLUSIVE)
objDD.SetDisplayMode 640, 480, 16, 0, DDSDM_DEFAULT
'设定640x480 16万色的显示模式ddsd1.lFlags = DDSD_CAPS Or DDSD_BACKBUFFERCOUNT
ddsd1.lBackBufferCount = 1
ddsd1.ddsCaps.lCaps = DDSCAPS_PRIMARYSURFACE Or DDSCAPS_FLIP Or DDSCAPS_COMPLEX
Set objDDPrimSurf = objDD.CreateSurface(ddsd1)
'建立Primary surfaceDim caps As DDSCAPS2
caps.lCaps = DDSCAPS_BACKBUFFER
Set objDDBackSurf = objDDPrimSurf.GetAttachedSurface(caps)
'建立BackBuffer surfaceddsd2.lFlags = DDSD_CAPS Or DDSD_HEIGHT Or DDSD_WIDTH
ddsd2.ddsCaps.lCaps = DDSCAPS_OFFSCREENPLAIN
ddsd2.lWidth = 640
ddsd2.lHeight = 480
Set objDDOffSurf = objDD.CreateSurfaceFromFile("img.bmp", ddsd2)
'建立一个Offscreen surface,并将img.bmp图档读入
'img.bmp 的路径请自行更改r1.Right = 640
r1.Bottom = 480objDDBackSurf.BltFast 0, 0, objDDOffSurf, r1, DDBLTFAST_WAIT
'复制图片
objDDPrimSurf.Flip Nothing, DDFLIP_WAIT '翻转End SubSub EndIt()
Call objDD.RestoreDisplayMode '重置显示模式
Call objDD.SetCooperativeLevel(Me.hWnd, DDSCL_NORMAL)
'设定为一般的GDI模式
End
End Sub
解决方案 »
- 请教,ICS组件中的HttpCli怎么加自定义Header?
- 小白请求各位大神来段多线程的源码~
- cxDBTreeList中checkbox问题
- 请教如何打开一个外部程序并隐藏,,
- *********循环中用Query控件复制记录的问题,请高手看看!!(为什么会这样??)******
- IntraWeb使BackButton生效
- 菜鸟问题:作为局部变量的AdoQuery组件在过程结束以后是否释放?
- 怎样保存完整的网页?
- 如何做出像adob reader阅读器那样点击文件缩略图,在右边显示原文编辑的?
- 送分题,快点啊。
- 如何得到程序自身的所在目录地址呢?大虾们?
- 我怎么找不到sql语句的帮助呢?在哪里呀?(没分了,过两天补上)
MediaPlayer运行时按Alt+Enter可全屏。
form(or pannel).align:=clclient;
正确设置 devicetype;
mediaplayer.displayreg:=Form1.ClientRect;(没有具体实验)
MediaPlayer1->FileName = filename;
MediaPlayer1->Display = Form2;//Form2为另一窗体,可设置成全屏
MediaPlayer1->Open();
Mediaplayer1->DisplayRect = Rect(0,0,1024,768);
MediaPlayer1->Play();
即可。