Q&A

  • 델파이에서 DirectDraw를 사용하려면..
안녕하세요. 델파이에서 DirectDraw를 사용하려면 어떻게 하면 되나요?

1  COMMENTS
  • Profile
    안치봉 1999.06.05 03:45
    북해 께서 말씀하시기를...

    > 안녕하세요. 델파이에서 DirectDraw를 사용하려면 어떻게 하면 되나요?



    안녕하세요.



    관련책 내지 도움말을 보셔야 할겁니다. 특히 액티브엑스에 대해서요.



    예) 다이렉트객체 생성의 일부분...



    procedure TForm1.InitDirectX;

    var

    SDesc: TDDSurfaceDesc;

    BCaps: TDDSCaps;

    begin

    Res := DirectDrawCreate(nil, DrawObj, nil);

    Res := DrawObj.SetCooperativeLevel(Handle, DDSCL_EXCLUSIVE or DDSCL_FULLSCREEN);

    Res := DrawObj.SetDisplayMode(640, 480, 16);



    FillChar(SDesc, SizeOf(TDDSurfaceDesc), #0);

    with SDesc do

    begin

    dwSize := SizeOf(SDesc);

    dwFlags := DDSD_CAPS or DDSD_BACKBUFFERCOUNT;

    ddsCaps.dwCaps := DDSCAPS_PRIMARYSURFACE or DDSCAPS_FLIP or DDSCAPS_COMPLEX;

    dwBackBufferCount := 1;

    end;

    Res := DrawObj.CreateSurface(SDesc, PrimSurface, nil);



    bCaps.dwCaps := DDSCAPS_BACKBUFFER;

    Res := PrimSurface.GetAttachedSurface(bCaps, BackSurface);



    with SDesc do

    begin

    dwSize := SizeOf(SDesc);

    dwFlags := DDSD_CAPS or DDSD_HEIGHT or DDSD_WIDTH;

    ddsCaps.dwCaps := DDSCAPS_OFFSCREENPLAIN;

    dwWidth := 640;

    dwHeight := 480*2;

    end;

    Res := DrawObj.CreateSurface(sDesc, SpriSurface, nil);

    end;