快速代码展示之快速的例子代码片段

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

[创建一个DirectDraw对象]

LPDIRECTDRAW lpDD;

HRESULT ddrval;

ddrval = DirectDrawCreate( NULL, &lpDD, NULL );

if( ddrval != DD_OK )

{

// 在这里输出一些错误检测代码

}

[设置协作级别]

ddrval = lpDD-SetCooperativeLevel( hWnd, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN );

if( ddrval != DD_OK)

{

// 在这里输出一些错误检测代码

}

[设置视频模式]

ddrval = lpDD-SetDisplayMode( 640, 480, 8);

if( ddrval != DD_OK)

{

// 在这里输出一些错误检测代码

}

[创建主表面]

LPDIRECTDRAWSURFACE lpDDSPrimary;

DDURFACEDESC ddsd;

HRESULT ddrval;

// 清除结构中所有的数据

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

// 设置标记

ddsd.dwSize = sizeof( ddsd );

ddsd.dwFlags = DDSD_CAPS | DDSD_BACKBUFFERCOUNT;

ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE | DDSCAPS_FLIP | DDSCAPS_COMPLEX;

ddsd.dwBackBufferCount = 1;

// 创建表面

ddrval = lpDD-CreateSurface( &ddsd, &lpDDSPrimary, NULL );

if( ddrval != DD_OK )

{

// 在这里输出一些错误检测代码

}

[创建后表面]

DDSCAPS ddscaps;

LPDIRECTDRAWSURFACE lpDDSBack; ddscaps.dwCaps = DDSCAPS_BACKBUFFER;

ddrval = lpDDSPrimary-GetAttachedSurface( &ddscaps, &lpDDSBack );

if( ddrval != DD_OK )

{

// 在这里输出一些错误检测代码

}

[创建离屏表面]

LPDIRECTDRAWSURFACE lpDDSOffscreen;

DDSURFACEDESC ddsd;

HRESULT ddrval;

ddsd.dwFlags = DDSD_CAPS | DDSD_HEIGHT | DDSD_WIDTH;

ddsd.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN;

ddsd.dwHeight = 480;

ddsd.dwWidth = 640;

ddrval = lpDD-CreateSurface( &ddsd, &lpDDSOffscreen, NULL );

if( ddrval != DD_OK )

{

// 在这里输出一些错误检测代码

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航