免费预览已结束,剩余29页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
IDirectDraw2接口返回上级应用程序使用IDirectDraw2接口的方法来创建DirectDraw的各种对象,并且与系统层变量一起工作。这部分是关于该接口的函数参考。IDirectDraw2接口的函数可以分为以下几组:分配内存CompactInitialize创建对象CreateClipperCreatePaletteCreateSurface设备特性GetCaps显示模式EnumDisplayModesGetDisplayModeGetMonitorFrequencyRestoreDisplayModeSetDisplayModeWaitForVerticalBlank显示状态GetScanLineGetVerticalBlankStatus杂项GetAvailableVidMemGetFourCCCodes设置控制级SetCooperativeLevel页面DuplicateSurfaceEnumSurfacesFlipToGDISurfaceGetGDISurface和所有COM接口一样,IDirectDraw2接口由IUnknown接口衍生而来。IUnknown接口支持以下三种方法: AddRef QueryInterface Release你可以使用LPDIRECTDRAW或LPDIRECTDRAW2数据类型来声明一个指向IDirectDraw或IDirectDraw2接口的变量。在Ddraw.h头文件中用以下代码声明了这两种数据类型。typedef struct IDirectDraw FAR *LPDIRECTDRAW;typedef struct IDirectDraw2 FAR *LPDIRECTDRAW2;1. IDirectDraw2:Compact回到目录目前,该函数尚未完成,还不能使用。HRESULT Compact();返回值:如果函数调用成功,返回DD_OK。如果函数调用失败,返回值可能是下列错误值之一:DDERR_INVALIDOBJECTDDERR_INVALIDPARAMSDDERR_NOEXCLUSIVEMODEDDERR_SURFACEBUSY备注:这个函数将所有位于显卡上的页面内存移动到一块连续的空间,以使剩余的连续内存空间值达到最大。这个函数在执行时,如果被任何其它的操作打断,该函数失败。应用程序只有将控制级设为独占模式(exclusive),才能调用这个函数。快速信息:Windows NT:适用于4.0或更新版Windows:适用于Windows 95或更新版Windows CE:不支持头文件:ddraw.h库文件:ddraw.lib2. IDirectDraw2:CreateClipper回到目录创建一个DirectDrawClipper对象。HRESULT CreateClipper(DWORD dwFlags,LPDIRECTDRAWCLIPPER FAR *lplpDDClipper,IUnknown FAR *pUnkOuter);参数:dwFlags 这个参数目前没有被使用,必须置为0。lplpDDClipper 如果该函数调用成功,该参数将接收到指向新创建的DirectDrawClipper对象的指针的地址。pUnkOuter 该参数将允许与今后的COM集合特性相兼容。目前,只要这个参数不是NULL,IDirectDraw2:CreateSurface返回一个错误。返回值:如果函数调用成功,返回DD_OK。如果函数调用失败,返回值可能是下列错误值之一:DDERR_INVALIDOBJECTDDERR_INVALIDPARAMSDDERR_NOCOOPERATIVELEVELSETDDERR_OUTOFMEMORY备注:DirectDrawClipper对象可以被隶属于一个DirectDrawSurface对象,并且在IDirectDrawSurface3:Blt、IDirectDrawSurface3:BltBatch、和IDirectDrawSurface3:UpdateOverlay过程中使用。要创建一个不隶属于任何DirectDraw对象的DirectDrawClipper对象,使用DirectDrawCreateClipper函数。快速信息:Windows NT:适用于4.0或更新版Windows:适用于Windows 95或更新版Windows CE:不支持头文件:ddraw.h库文件:ddraw.lib请参阅:IDirectDrawSurface3:GetClipper,IDirectDrawSurface3:SetClipper3. IDirectDraw2:CreatePalette回到目录为该DirectDraw对象创建一个DirectDrawPalette对象。HRESULT CreatePalette(DWORD dwFlags,LPPALETTEENTRY lpColorTable,LPDIRECTDRAWPALETTE FAR *lplpDDPalette,IUnknown FAR *pUnkOuter);参数:dwFlags 下列标志的单个或组合: DDPCAPS_1BIT 指定调色板索引为1比特。色彩表中只有两个入口。 DDPCAPS_2BIT 指定调色板索引为2比特。色彩表中有四个入口。 DDPCAPS_4BIT 指定调色板索引为4比特。色彩表中有16个入口。 DDPCAPS_8BIT 指定调色板索引为8比特。色彩表中有256个入口。 DDPCAPS_8BITENTRIES 表明调色板的索引值是另外一个8位调色板的索引。这个标志只有和DDPCAPS_1BIT、DDPCAPS_2BIT、或DDPCAPS_4BIT标志一起使用才能生效,并且目标页面必须是8 bbp(8位色彩模式)。每一个色彩入口为1字节,并且指向目标页面的8 bbp调色板。 DDPCAPS_ALLOW256 表明用户可以定义调色板的所有256个入口。lpColorTable 2、4、16或256个PALETTEENTRY结构序列的地址,用来初始化这个DirectDrawPalette对象。lplpDDPalette 如果函数调用成功,这个参数将接收到指向新创建的DirectDrawPalette对象的指针的地址。pUnkOuter 该参数将允许与今后的COM集合特性相兼容。目前,只要这个参数不是NULL,IDirectDraw2:CreateSurface返回一个错误。返回值:如果函数调用成功,返回DD_OK。如果函数调用失败,返回值可能是下列错误值之一:DDERR_INVALIDOBJECTDDERR_INVALIDPARAMSDDERR_NOCOOPERATIVELEVELSETDDERR_OUTOFMEMORYDDERR_UNSUPPORTED快速信息:Windows NT:适用于4.0或更新版Windows:适用于Windows 95或更新版Windows CE:不支持头文件:ddraw.h库文件:ddraw.lib4. IDirectDraw2:CreateSurface回到目录该函数为该DirectDraw对象创建一个DirectDrawSurface对象。HRESULT CreateSurface(LPDDSURFACEDESC lpDDSurfaceDesc,LPDIRECTDRAWSURFACE FAR *lplpDDSurface,IUnknown FAR *pUnkOuter);参数:lpDDSurfaceDesc一个DDSURFACEDESC结构的地址,用来描述所请求创建的页面的页面信息。在调用这个函数之前,你应该设置DDSURFACEDESC结构所有成员的值为0。DDSCAPS结构是DDSURFACEDESC的一个成员。lplpDDSurface如果该函数调用成功,该参数将接收到指向新创建的DirectDrawsurface对象的指针的地址。pUnkOuter该参数将允许与今后的COM集合特性相兼容。目前,只要这个参数不是NULL,IDirectDraw2:CreateSurface返回一个错误。返回值:如果函数调用成功,返回DD_OK。如果函数调用失败,返回值可能是下列错误值之一:DDERR_INCOMPATIBLEPRIMARYDDERR_INVALIDCAPSDDERR_INVALIDOBJECTDDERR_INVALIDPARAMSDDERR_INVALIDPIXELFORMATDDERR_NOALPHAHWDDERR_NOCOOPERATIVELEVELSETDDERR_NODIRECTDRAWHWDDERR_NOEMULATIONDDERR_NOEXCLUSIVEMODEDDERR_NOFLIPHWDDERR_NOMIPMAPHWDDERR_NOOVERLAYHWDDERR_NOZBUFFERHWDDERR_OUTOFMEMORYDDERR_OUTOFVIDEOMEMORYDDERR_PRIMARYSURFACEALREADYEXISTSDDERR_UNSUPPORTEDMODE快速信息:Windows NT:适用于4.0或更新版Windows:适用于Windows 95或更新版Windows CE:不支持头文件:ddraw.h库文件:ddraw.lib5. IDirectDraw2:DuplicateSurface回到目录复制一个DirectDrawSurface对象。HRESULT DuplicateSurface(LPDIRECTDRAWSURFACE lpDDSurface,LPLPDIRECTDRAWSURFACE FAR *lplpDupDDSurface);参数:lpDDSurface将要被复制的DirectDrawSurface对象的地址。lplpDupDDSurface如果该函数调用成功,该参数将接收到指向新创建的DirectDrawsurface对象的指针的地址。返回值:如果函数调用成功,返回DD_OK。如果函数调用失败,返回值可能是下列错误值之一:DDERR_CANTDUPLICATEDDERR_INVALIDOBJECTDDERR_INVALIDPARAMSDDERR_OUTOFMEMORYDDERR_SURFACELOST备注:这个函数创建一个新的DirectDrawSurface对象,与一个已存在的DirectDrawSurface对象指向同一个页面内存区。这个复制品可以象原始对象一样使用。该页面内存在最后一个引用它的对象被释放之后被释放。主页面,3-D页面,或隐性页面不能被复制。快速信息:Windows NT:适用于4.0或更新版Windows:适用于Windows 95或更新版Windows CE:不支持头文件:ddraw.h库文件:ddraw.lib6. IDirectDraw2:EnumDisplayModes回到目录该函数列举出暴露于DirectDraw对象的与所提供的页面描述相兼容的所有显示模式。HRESULT EnumDisplayModes(DWORD dwFlags,LPDDSURFACEDESC lpDDSurfaceDesc,LPVOID lpContext,LPDDENUMMODESCALLBACK lpEnumModesCallback);参数:dwFlagsDDEDM_REFRESHRATES列举不同刷新率的显示模式。因为IDirectDraw2:EnumDisplayModes保证每一种模式只被列举一次,这个标志指定是否将刷新率也考虑在内。DDEDM_STANDARDVGAMODES除了320x200x8 Mode X模式之外,还列举出Mode 13模式。lpDDSurfaceDesc指向一个DDSURFACEDESC结构的地址,被用来判断其是否存在于系统所支持的显示模式中。如果该参数为NULL,则所有的模式将被列举。lpContext一个应用程序定义的结构的地址,用来传递给lpEnumModesCallback参数所指定的列举回调函数。lpEnumModesCallbackEnumModesCallback回调函数的地址,每列举出一个显示模式的时候,该函数将被执行一次。返回值:如果函数调用成功,返回DD_OK。如果函数调用失败,返回值可能是下列错误值之一:DDERR_INVALIDOBJECTDDERR_INVALIDPARAMS备注:IDirectDraw2接口的这个方法可以列举出不同显示模式的刷新率;而老版本的IDirectDraw:EnumDisplayModes却无法提供这个功能。如果你用IDirectDraw2:SetDisplayMode来设置某个显示模式的刷新率,你必须先用IDirectDraw2:EnumDisplayModes来列举出dwRefreshRate成员(存在于EnumModesCallback回调函数中的DDSURFACEDESC结构中)。快速信息:Windows NT:适用于4.0或更新版Windows:适用于Windows 95或更新版Windows CE:不支持头文件:ddraw.h库文件:ddraw.lib请参阅:IDirectDraw2:GetDisplayMode,IDirectDraw2:SetDisplayMode,IDirectDraw2:RestoreDisplayMode7. IDirectDraw2:EnumSurfaces回到目录列举出所有满足指定的搜索条件的已经存在或可能存在的页面。HRESULT EnumSurfaces(DWORD dwFlags,LPDDSURFACEDESC lpDDSD,LPVOID lpContext,LPDDENUMSURFACESCALLBACK lpEnumSurfacesCallback);参数:dwFlags下列值的其中一个:DDENUMSURFACES_ALL列举出满足搜索条件的所有页面。DDENUMSURFACES_CANBECREATED列举出可以被创建并且满足搜索条件的第一个页面。DDENUMSURFACES_DOESEXIST列举出满足搜索条件的已经存在的页面。DDENUMSURFACES_MATCH搜索任何一个符合页面描述的页面。Searches for any surface that matches the surface description.DDENUMSURFACES_NOMATCH搜索任何一个不符合页面描述的页面。lpDDSD一个DDSURFACEDESC结构的地址,用来定义列举页面的依据。lpContext一个应用程序定义的结构,用来传递给列举的回调函数。lpEnumSurfacesCallbackEnumSurfacesCallback回调函数的地址,每列举出一个页面的时候,将执行该函数。返回值:如果函数调用成功,返回DD_OK。如果函数调用失败,返回值可能是下列错误值之一:DDERR_INVALIDOBJECTDDERR_INVALIDPARAMS备注:如果DDENUMSURFACES_CANBECREATED标志被设置,该函数将尝试临时的创建一个满足条件的页面。注意:当一个页面被列举的时候,它的引用记录(Reference count)递增1,如果你不打算使用该页面,就应该在每次列举之后调用IDirectDraw:Release来释放该页面。在IDirectDraw的接口版本中,这个函数的dwFlags参数不支持任何值,除了0。快速信息:Windows NT:适用于4.0或更新版Windows:适用于Windows 95或更新版Windows CE:不支持头文件:ddraw.h库文件:ddraw.lib8. IDirectDraw2:FlipToGDISurface回到目录使GDI所写向的页面成为主页面。HRESULT FlipToGDISurface();参数:无返回值:如果函数调用成功,返回DD_OK。如果函数调用失败,返回值可能是下列错误值之一:DDERR_INVALIDOBJECTDDERR_INVALIDPARAMSDDERR_NOTFOUND备注:这个函数可以在一个换页的应用程序结束之前调用,以确保GDI所写向的显示内存对用户来说是可见的。快速信息:Windows NT:适用于4.0或更新版Windows:适用于Windows 95或更新版Windows CE:不支持头文件:ddraw.h库文件:ddraw.lib请参阅:IDirectDraw2:GetGDISurface9. IDirectDraw2:GetAvailableVidMem回到目录该函数可以获得所有可用的显存容量值,和当前可以为某种指定类型的页面所用的空余显存容量值。HRESULT GetAvailableVidMem(LPDDSCAPS lpDDSCaps,LPDWORD lpdwTotal,LPDWORD lpdwFree);参数:lpDDSCaps一个DDSCAPS结构的地址,用来指定被提供的页面的硬件性能。lpdwTotal一个变量的地址,将返回所有可用的显存容量值。lpdwFree一个变量的地址,将返回当前可以分配给某指定类型的页面的空余显存容量值,该页面的类型符合lpDDSCaps结构。返回值:如果函数调用成功,返回DD_OK。如果函数调用失败,返回值可能是下列错误值之一:DDERR_INVALIDCAPSDDERR_INVALIDOBJECTDDERR_INVALIDPARAMSDDERR_NODIRECTDRAWHW如果给lpdwTotal或lpdwFree的值为NULL,则不返回该参数的值。备注:下面的C+例子演示了如何使用IDirectDraw2:GetAvailableVidMem来测得可以为材质贴图页面(texture-map surfaces)所用的全部和空余的显存数量。LPDIRECTDRAW2 lpDD2;DDSCAPS ddsCaps;DWORD dwTotal;DWORD dwFree;ddres = lpDD-QueryInterface(IID_IDirectDraw2, &lpDD2);if (FAILED(ddres).ddsCaps.dwCaps = DDSCAPS_TEXTURE;ddres = lpDD2-GetAvailableVidMem(&ddsCaps, &dwTotal, &dwFree);if (FAILED(ddres).这个函数只是为当前的显存状态做了一个快照。空余显存容量将随着页面的创建和销毁而不断的改变。因此,你应该把这个空余容量当作一个近似值来使用。此外,某些种类的显示卡不会将某两种不同的显存类型视为不同。例如:某显卡可能会使用显存上的同一区域既储存z-缓冲区值,又储存材质。于是,给其中的某一个页面类型(如z-缓冲区)分配内存将影响到另一个页面类型(如材质)所能使用的内存容量。因此,最好的做法是:首先就给应用程序划分好固定的资源(比如前台和后台缓冲区,z-缓冲区),而不是动态的分配内存(如材质贴图)。该函数在IDirectDraw接口中不存在。快速信息:Windows NT:适用于4.0或更新版Windows:适用于Windows 95或更新版Windows CE:不支持头文件:ddraw.h库文件:ddraw.lib10. IDirectDraw2:GetCaps回到目录获得硬件和硬件仿真层(HEL)的设备驱动性能。HRESULT GetCaps(LPDDCAPS lpDDDriverCaps,LPDDCAPS lpDDHELCaps);参数:lpDDDriverCaps将被填充设备驱动所报告的描述了硬件性能的DDCAPS结构的地址。如果不想获得该描述,设置该参数为NULL。lpDDHELCaps将被填充描述硬件仿真层(HEL)性能的DDCAPS结构的地址。如果不想获得该描述,设置该参数为NULL。返回值:如果函数调用成功,返回DD_OK。如果函数调用失败,返回值可能是下列错误值之一:DDERR_INVALIDOBJECTDDERR_INVALIDPARAMS用户只能将两个参数之中的一个设为NULL以排除该参数。如果两个参数均被设为NULL,该函数返回DDERR_INVALIDPARAMS。快速信息:Windows NT:适用于4.0或更新版Windows:适用于Windows 95或更新版Windows CE:不支持头文件:ddraw.h库文件:ddraw.lib11. IDirectDraw2:GetDisplayMode回到目录获得当前的显示模式。HRESULT GetDisplayMode(LPDDSURFACEDESC lpDDSurfaceDesc);参数:lpDDSurfaceDesc一个DDSURFACEDESC结构的地址,将被填充页面描述。返回值:如果函数调用成功,返回DD_OK。如果函数调用失败,返回值可能是下列错误值之一:DDERR_INVALIDOBJECTDDERR_INVALIDPARAMSDDERR_UNSUPPORTEDMODE备注:应用程序不应该保存这个函数所返回的信息,以在程序收尾时恢复显示模式。而应该在程序收尾时调用IDirectDraw2:RestoreDisplayMode函数来恢复显示模式,从而避免在多进程的环境中导致模式设置的冲突。快速信息:Windows NT:适用于4.0或更新版Windows:适用于Windows 95或更新版Windows CE:不支持头文件:ddraw.h库文件:ddraw.lib请参阅:IDirectDraw2:SetDisplayMode,IDirectDraw2:RestoreDisplayMode,,IDirectDraw2:EnumDisplayModes12. IDirectDraw2:GetFourCCCodes回到目录获得DirectDraw对象所支持的FOURCC代码,也可获得所支持的代码个数。HRESULT GetFourCCCodes(LPDWORD lpNumCodes,LPDWORD lpCodes);参数:lpNumCodes一个DWORD型变量的地址,包含了lpCodes参数可以容纳的FOURCC代码入口的个数。如果入口的个数太小以致于不能容纳所有的FOURCC代码,lpNumCodes将被设为所请求的个数,并且lpCodes所指向的序列将填入适当的代码。lpCodes一个DWORD型变量序列的地址,将被填充该DirectDraw对象所支持的FOURCC代码。如果给该参数指定了NULL,lpNumCodes参数将返回该DirectDraw对象所支持的FOURCC代码的种类个数。返回值:如果函数调用成功,返回DD_OK。如果函数调用失败,返回值可能是下列错误值之一:DDERR_INVALIDOBJECTDDERR_INVALIDPARAMS快速信息:Windows NT:适用于4.0或更新版Windows:适用于Windows 95或更新版Windows CE:不支持头文件:ddraw.h库文件:ddraw.lib13. IDirectDraw2:GetGDISurface回到目录获得当前GDI视为主页面的DirectDrawSurface对象。HRESULT GetGDISurface(LPDIRECTDRAWSURFACE FAR *lplpGDIDDSSurface);参数:lplpGDIDDSSurface一个指向DirectDrawSurface对象的指针的地址,该DirectDrawSurface对是当前GDI所控制的主页面内存。返回值:如果函数调用成功,返回DD_OK。如果函数调用失败,返回值可能是下列错误值之一:DDERR_INVALIDOBJECTDDERR_INVALIDPARAMSDDERR_NOTFOUND快速信息:Windows NT:适用于4.0或更新版Windows:适用于Windows 95或更新版Windows CE:不支持头文件:ddraw.h库文件:ddraw.lib请参阅:IDirectDraw2:FlipToGDISurface14. IDirectDraw2:GetMonitorFrequency回到目录获得DirectDraw对象驱动的显示器的刷新频率。HRESULT GetMonitorFrequency(LPDWORD lpdwFrequency);参数:lpdwFrequency一个变量的地址,将获得显示器的刷新频率,单位为:Hz。返回值:如果函数调用成功,返回DD_OK。如果函数调用失败,返回值可能是下列错误值之一:DDERR_INVALIDOBJECTDDERR_INVALIDPARAMSDDERR_UNSUPPORTED快速信息:Windows NT:适用于4.0或更新版Windows:适用于Windows 95或更新版Windows CE:不支持头文件:ddraw.h库文件:ddraw.lib15. IDirectDraw2:GetScanLine回到目录The IDirectDraw2:GetScanLine method retrieves the scan line that is currently being drawn on the monitor.HRESULT GetScanLine(LPDWORD lpdwScanLine);参数:lpdwScanLine一个变量的地址,将获得当前显示扫描线的位置。返回值:如果函数调用成功,返回DD_OK。如果函数调用失败,返回值可能是下列错误值之一:DDERR_INVALIDOBJECTDDERR_INVALIDPARAMSDDERR_UNSUPPORTEDDDERR_VERTICALBLANKINPROGRESS备注:扫描线(Scan lines)的位置是一个以0为下限的整数。返回的扫描线的值范围处于0到n之间,0是屏幕上第一条可见的扫描线,n是最后一条可见的扫描线,加上了所有的Scan lines are reported as zero-based integers. The returned scan line value is between 0 and n, where scan line 0 is the first visible scan line on the screen and n is the last visible scan line, plus any scan lines that occur during vblank. So, in a case where an application is running at 640480, and there are 12 scan lines during vblank, the values returned by this method will range from 0 to 491.快速信息:Windows NT:适用于4.0或更新版Windows:适用于Windows 95或更新版Windows CE:不支持头文件:ddraw.h库文件:ddraw.lib请参阅:IDirectDraw2:GetVerticalBlankStatus, IDirectDraw2:WaitForVerticalBlank16. IDirectDraw2:GetVerticalBlankStatus回到目录The IDirectDraw2:GetVerticalBlankStatus method retrieves the status of the vertical blank.HRESULT GetVerticalBlankStatus(LPBOOL lpbIsInVB);参数:lpbIsInVBAddress of the variable that will be filled with the status of the vertical blank. This parameter is TRUE if a vertical blank is occurring, and FALSE otherwise.返回值:如果函数调用成功,返回DD_OK。如果函数调用失败,返回值可能是下列错误值之一:DDERR_INVALIDOBJECTDDERR_INVALIDPARAMS备注:To synchronize with the vertical blank, use the IDirectDraw2:WaitForVerticalBlank method.快速信息:Windows NT:适用于4.0或更新版Windows:适用于Windows 95或更新版Windows CE:不支持头文件:ddraw.h库文件:ddraw.lib请参阅:IDirectDraw2:GetScanLine, IDirectDraw2:WaitForVerticalBlank17. IDirectDraw2:Initialize回到目录该函数初始化一个用CoCreateInstance COM函数创建的DirectDraw对象。.HRESULT Initialize(GUID FAR *lpGUID);参数:lpGUID全局唯一标志符(GUID)的地址,用做接口标志符。返回值:如果函数调用成功,返回DD_OK。如果函数调用失败,返回值可能是下列错误值之一:DDERR_ALREADYINITIALIZEDDDERR_DIRECTDRAWALREADYCREATEDDDERR_GENERICDDERR_INVALIDOBJECTDDERR_INVALIDPARAMSDDERR_NODIRECTDRAWHWDDERR_NODIRECTDRAWSUPPORTDDERR_OUTOFMEMORY这个函数是为了符合部件对象模型(COM)的协议而提供。如果该DirectDraw对象是由调用DirectDrawCreate函数创建的,该函数返回DDERR_ALREADYINITIALIZED。如果在使用CoCreateInstance创建一DirectDraw对象后,没有调用IDirectDraw2:Initialize,对该DirectDraw对象的任何使用都将导致一个DDERR_NOTINITIALIZED的错误。备注:要得到更多的关于如何使用IDirectDraw2:Initialize和CoCreateInstance的资料,请参阅:用CoCreateInstance创建DirectDraw对象。快速信息:Windows NT:适用于4.0或更新版Windows:适用于Windows 95或更新版Windows CE:不支持头文件:ddraw.h库文件:ddraw.lib18. IDirectDraw2:RestoreDisplayMode回到目录该函数用来重设主页面的显示模式至IDirectDraw2:SetDisplayMode函数被调用之前的状态。要使用该函数,应用程序必须具有独占模式。HRESULT RestoreDisplayMode();参数:无返回值:如果函数调用成功,返回DD_OK。如果函数调用失败,返回值可能是下列错误值之一:DDERR_GENERICDDERR_INVALIDOBJECTDDERR_INVALIDPARAMSDDERR_LOCKEDSURFACESDDERR_NOEXCLUSIVEMODE快速信息:Windows NT:适用于4.0或更新版Windows:适用于Windows 95或更新版Windows CE:不支持头文件:ddraw.h库文件:ddraw.lib请参阅:IDirectDraw2:SetDisplayMode,IDirectDraw2:EnumDisplayModes,IDirectDraw2:SetCooperativeLevel19. IDirectDraw2:SetCooperativeLevel回到目录该函数决定了应用程序最高层次的行为模式。HRESULT SetCooperativeLevel(HWND hWnd,DWORD dwFlags);参数:hWnd应用程序所使用的窗口的句柄。当设置dwFlags为DDSCL_NORMAL时,这个参数可以是NULL。dwFlags可以是以下标志的单个或组合:DDSCL_ALLOWMODEX允许使用Mode X显示模式。这个标志必须与DDSCL_EXCLUSIVE和DDSCL_FULLSCREEN一起使用。DDSCL_ALLOWREBOOT当处于独占(全屏)模式时,允许使用CTRL+ALT+DEL组合键。DDSCL_CREATEDEVICEWINDOW这个标志只在Windows 98和Windows NT 5.0中被支持。表明DirectDraw接口将为该DirectDraw对象创建和管理一个缺省的设备窗口。要得到更多信息,请参阅缺省设备窗口。DDSCL_EXCLUSIVE请求独占模式。这个标志必须与DDSCL_FULLSCREEN同时使用。DDSCL_FULLSCREEN指定独占模式的所有者将管理整个主页面。GDI可以被忽略。这个标志必须与DDSCL_EXCLUSIVE同时使用。DDSCL_NORMAL指定应用程序将以普通窗口的形式出现。这个标志不能与DDSCL_ALLOWMODEX、DDSCL_EXCLUSIVE或DDSCL_FULLSCREEN同时使用。DDSCL_NOWINDOWCHANGES表明DirectDraw不允许最小化或还原应用程序窗口。DDSCL_SETDEVICEWINDOW这个标志只在Windows 98和Windows NT 5.0中被支持。表明hWnd参数是该DirectDraw对象的设备窗口句柄。这个标志不能与DDSCL_SETFOCUSWINDOW同时使用。DDSCL_SETFOCUSWINDOW这个标志只在Windows 98和Windows NT 5.0中被支持。表明hWnd参数是该DirectDraw对象的焦点窗口句柄。这个标志不能与DDSCL_SETDEVICEWINDOW同时使用。返回值:如果函数调用成功,返回DD_OK。如果函数调用失败,返回值可能是下列错误值之一:DDERR_EXCLUSIVEMODEALREADYSETDDERR_HWNDALREADYSETDDERR_HWNDSUBCLASSEDDDERR_INVALIDOBJECTDDERR_INVALIDPARAMSDDERR_OUTOFMEMORY备注:一个应用程序必须设置DDSCL_EXCLUSIVE和DDSCL_NORMAL标志中的一个。DDSCL_EXCLUSIVE标志必须为那些具有激烈的动态效果的程序所设置。要得到更多的信息,请参阅控制级。这个函数与IDirectDraw2:SetDisplayMode函数之间的相互影响因为IDirectDraw版本的不同而不同。要得到更多资料,请参阅IDirectDraw2接口的“控制级与显示模式”。快速信息:Windows NT:适用于4.0或更新版Windows:适用于Windows 95或更新版Windows CE:不支持头文件:ddraw.h库文件:ddraw.lib相关资料:IDirectDraw2:SetDisplayMode,IDirectDraw2:Compact,IDirectDraw2:EnumDisplayModes,Mode X和Mode 13显示模式,焦点和设备窗口,缺省设备窗口。20. IDirectDraw2:SetDisplayMode回到目录该函数设置显示器的显示模式。HRESULT SetDisplayMode(DWORD dwWidth,DWORD dwHeight,DWORD dwBPP,DWORD dwRefreshRate,DWORD dwFlags);参数:dwWidth and dwHeight显示模式的宽度和高度。dwBPP显示模式的位深度(bpp)。dwRefreshRate显示模式的刷新率。如果这个参数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基于负载均衡的无线MESH网络路由协议:创新机制与性能优化研究
- 基于语音增强的语音活动检测算法的深度剖析与创新研究
- 基于计算机视觉的视频场快速行人动态检测算法与实现研究
- 基于视频的火焰检测算法:原理、比较与优化
- 基于视觉认知的人体行为特征提取模型:理论、方法与创新应用
- 基于蛋白质组学解析滩羊皮肤组织生长发育及品质形成机制
- 基于虚拟样机技术的叶片加工专用机床关键部件设计与性能优化研究
- 基于蓝牙的无线语音通信技术:原理、应用与挑战
- 基于自然特征点的移动增强现实系统:技术、挑战与创新
- 八年级物理上册“物体质量”课堂教学设计-基于量与不变性观念的探究式教学
- (高清版)DGJ 08-98-2014 机动车停车场(库)环境保护设计规程
- 零售行业法律知识培训
- 湖北技能高考《乐理》历年考试真题题库-带答案
- 2025年度租房合同及房东房屋安全承诺书
- 高速公路土建日常养护管理表格
- 外墙粉刷包工合同范例
- 物业工程安全培训
- 一年级《红色文化》(上册)全册教案
- 机动车辆制动盘加工工艺设计
- 光伏项目施工总进度计划表(含三级)
- 初中地理八年级下册新疆维吾尔自治区 公开课比赛一等奖
评论
0/150
提交评论