if (lpDDS->GetSurfaceDesc(&ddsd) != DD_OK) { DDInitFailed(hWnd, hRet, "GetSurfaceDesc() call failed in DDLoadBitmap()"); }
// Test for compatible pixel format if ((ddsd.ddpfPixelFormat.dwFlags != DDPF_RGB) || (ddsd.ddpfPixelFormat.dwRGBBITCOUNT < 16)) { DDInitFailed(hWnd, hRet, "Incompatible surface in DDLoadBitmap()"); }
Ligger ddraw.h i VC's include katalog ? Hvis ikke skal du sætte en additional include directory op (settings - C/C++ - preprocessor) til det katalog hvor du har ddraw.h liggende. Alternativt kan du flytte ddraw.h-filen til VC's include-katalog.
Husk også at linkeren skal linke med ddraw.lib og dxguid.lib (project - settings - link - Object/Library Modules). Husk også at sætte stien op til disse to libraries (under Link - Input - Additional library path) hvis de ikke ligger i standard inkluderede directories.
Hvorfor bruger du ikke en LPDIRECTDRAWSURFACE7 ? Et sidste råd på vejen - udskriv debug information til en fil for du mister muligheden for at gøre det til skærmen og du vil få brug for det !!!
Som mortenezentia siger, skal du huske at linke til de rigtige libraries. Check at ddraw.lib og dxguid.lib ligger i <visual studio>/vc98/lib, og at ddraw.h ligger i <visual studio>/vc98/include.
Gå derefter ind i 'Project > Settings' og tryk på fanebladet 'Link'. Nu skulle du gerne kunne se en masse .lib-filer i et vindue nedenunder. Her skriver du bare 'ddraw.lib' og 'dxguid.lib' - husk mellemrum imellem alle .libs.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.