首先我用
DDCAPS ddc;
ZeroMemory(&ddc,sizeof(ddc));
ddc.dwSize=sizeof(ddc);
m_DirectDraw7->GetCaps(&ddc,NULL);
if(ddc.dwFXCaps & DDFXCAPS_BLTMIRRORLEFTRIGHT)
MessageBox("支持");
else
MessageBox("不支持");这里我的显卡支持左右镜像拷贝但是我在
DDBLTFX myddbltfx;
ZeroMemory(&myddbltfx,sizeof(myddbltfx));
myddbltfx.dwSize = sizeof(myddbltfx);
myddbltfx.dwDDFX = DDFXCAPS_BLTMIRRORLEFTRIGHT;
if(FAILED(m_MainSurface->Blt(CRect(0,0,800,600),m_BackSurface,CRect(0,0,800,600),DDBLT_WAIT | DDBLT_DDFX,&myddbltfx)))
MessageBox("拷贝失败");这里却失败了,请问这是为什么啊?

解决方案 »

  1.   

    ..问题解决了..
    DDBLTFX myddbltfx;
    ZeroMemory(&myddbltfx,sizeof(myddbltfx));
    myddbltfx.dwSize = sizeof(myddbltfx);
    myddbltfx.dwDDFX = DDBLTFX_MIRRORLEFTRIGHT;<-----------------这里的问题
    if(FAILED(m_MainSurface->Blt(CRect(0,0,800,600),m_BackSurface,CRect(0,0,800,600),DDBLT_WAIT | DDBLT_DDFX,&myddbltfx)))
    MessageBox("拷贝失败");