创建显示表面

创建一个主显示表面

1、填充一个DDSURFACEDESC2数据结构,描述你所希望创建的显示表面(此结构很重要,详细说明见P210或MSDN)。

2、调用IDirectDraw7::CreateSurface()来创建显示表面(注:同创建调色板相似,不需调用QueryInterface()来改变接口

 

具体设置:

LPDIRECTDRAWSURFACE7  lpddsprimary;

DSURFACEDESC2 ddsd;

memset(&ddsd, 0 , sizeof (ddsd));

ddsd.dwSize = sizeof (DDSURFACEDESC2);

// enable valid fields

////dwFlags------这个域用来指示DirectDraw 你会把有效数据填充到哪个区域,或者是当你要把这个结构用在一个查询操作时你希望接收哪个域(详细标志值见P211或MSDN)
ddsd.dwFlags = DDSD_CAPS;///说明ddsCaps成员有效

// request primary surface
ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE;  ///说明创建的是主表面

// create the primary surface
if (FAILED(lpdd->CreateSurface(&ddsd, &lpddsprimary, NULL)))
   {
   // error
   return(0);
   } // end if

 

创建从显示表面:

 

                                              未完............................

你可能感兴趣的:(创建显示表面)