S
soFTangeL
Unregistered / Unconfirmed
GUEST, unregistred user!
小弟初学DirectX,有一些小问题还望各位能够不吝赐教。
我想使用一下窗口模式,但在网上搜索的全是全屏独占(DDSCL_EXCLUSIVE or DDSCL_FULLSCREEN)模式:
FDD.SetCooperativeLevel(h_Wnd, DDSCL_EXCLUSIVE or DDSCL_FULLSCREEN);
我把独占模式改为普通窗口(DDSCL_NORMAL)模式之后:
FDD.SetCooperativeLevel(h_Wnd, DDSCL_NORMAL);
在创建FDD.CreateSurface(ddsd, FDDSPrimary, nil);时出错。
FillChar(ddsd, SizeOf(ddsd), 0);
ddsd.dwSize := SizeOf(ddsd);
ddsd.dwFlags := DDSD_CAPS or DDSD_BACKBUFFERCOUNT;
ddsd.ddsCaps.dwCaps := DDSCAPS_PRIMARYSURFACE or DDSCAPS_FLIP or DDSCAPS_COMPLEX;
ddsd.dwBackBufferCount := 1;
hRet := FDD.CreateSurface(ddsd, FDDSPrimary, nil); //此句不能正常执行
if hRet <> DD_OK then
begin
ErrorOut(hRet, 'CreateSurface');
Exit;
end;
哪位朋友能提示一下是怎么回事?最好能给小弟发一份源码(myzz007@163.com),具体内容可以是在一个窗体上有一个image,然后利用DirectX对该图像进行简单的操作(比如变色或者翻转等等)。要求使用SDK,不要用DelphiX。谢谢!
我想使用一下窗口模式,但在网上搜索的全是全屏独占(DDSCL_EXCLUSIVE or DDSCL_FULLSCREEN)模式:
FDD.SetCooperativeLevel(h_Wnd, DDSCL_EXCLUSIVE or DDSCL_FULLSCREEN);
我把独占模式改为普通窗口(DDSCL_NORMAL)模式之后:
FDD.SetCooperativeLevel(h_Wnd, DDSCL_NORMAL);
在创建FDD.CreateSurface(ddsd, FDDSPrimary, nil);时出错。
FillChar(ddsd, SizeOf(ddsd), 0);
ddsd.dwSize := SizeOf(ddsd);
ddsd.dwFlags := DDSD_CAPS or DDSD_BACKBUFFERCOUNT;
ddsd.ddsCaps.dwCaps := DDSCAPS_PRIMARYSURFACE or DDSCAPS_FLIP or DDSCAPS_COMPLEX;
ddsd.dwBackBufferCount := 1;
hRet := FDD.CreateSurface(ddsd, FDDSPrimary, nil); //此句不能正常执行
if hRet <> DD_OK then
begin
ErrorOut(hRet, 'CreateSurface');
Exit;
end;
哪位朋友能提示一下是怎么回事?最好能给小弟发一份源码(myzz007@163.com),具体内容可以是在一个窗体上有一个image,然后利用DirectX对该图像进行简单的操作(比如变色或者翻转等等)。要求使用SDK,不要用DelphiX。谢谢!