directDraw高手请帮我一下

来源:百度知道 编辑:UC知道 时间:2024/06/05 01:00:30
LPDIRECTDRAW7 lpdd = NULL;//我写了这行代码,它却提示我这句错了.
我想问一下如果我装了directX8.0 SDK ,请问我应该怎么样查LPDIRECTDRAW7这个类型是否存在或查出正确的directDraw7接口.

=====================================
楼上回答错误。。

DirectDraw在每个版本中都是有的。只不过到了8.0之后就被去掉了,但是这并不妨碍你使用DirectDraw7,只不过没有更新而已,没有8而已。

你可以这样直接获得DirectDraw7接口:

if( FAILED( DirectDrawCreateEx( NULL, ( void ** )&m_lpDD, IID_IDirectDraw7, NULL )))
{
m_lpDD = NULL;
return FALSE;
}

至于第一个问题:
LPDIRECTDRAW7 lpDD = NULL;
是可以的。可能是你没有包涵头文件。
将下面的代码放到你的文件中试试。

#include <ddraw.h>

#pragma message("linking with Microsoft's DirectDraw library ...")
#pragma comment(lib, "ddraw.lib")
#pragma comment(lib, "dxguid.lib")

DirextX8.0中没有LPDIRECTDRAW7的定义,应该用LPDIRECTDRAW或IDIRECTDRAW7