|
|
照着DX SDK里的实例做出来的,怎么还是没用
Option Explicit
Dim objDX As New DirectX7
Dim objDD As DirectDraw7
Dim ddsd1 As DDSURFACEDESC2
Dim ddsd2 As DDSURFACEDESC2
Dim objDDprimSurf As DirectDrawSurface7
Dim objDDSurf As DirectDrawSurface7
Dim ddClipper As DirectDrawClipper
Dim r1 As RECT
Dim r2 As RECT
Private Sub Form_Load()
r1.Left = 100
r1.Bottom = 200
r1.Right = 200
r1.Top = 100
r2.Left = 200
r2.Right = 300
r2.Top = 200
r2.Bottom = 300
Set objDD = objDX.DirectDrawCreate("")
objDD.SetCooperativeLevel Me.hWnd, DDSCL_NORMAL
ddsd1.lFlags = DDSD_CAPS
ddsd1.ddsCaps.lCaps = DDSCAPS_PRIMARYSURFACE
Set objDDprimSurf = objDD.CreateSurface(ddsd1)
ddsd2.lFlags = DDSD_CAPS
ddsd2.ddsCaps.lCaps = DDSCAPS_OFFSCREENPLAIN
Set objDDSurf = objDD.CreateSurfaceFromFile("one love.bmp", ddsd2)
Set ddClipper = objDD.CreateClipper(0)
ddClipper.SetHWnd Picture1.hWnd
objDDprimSurf.SetClipper ddClipper
Picture1.Width = Me.ScaleWidth
Picture1.Height = Me.ScaleHeight
objDDprimSurf.Blt r1, objDDSurf, r2, DDBLT_WAIT
End Sub
|
|