Brache Hilfe mit DirectDraw!!
-
Hallo,
Wenn ich in meiner EXE DirectDraw initialisiere kommt kurz so ein
Vollbild und danach wird erst meine EXE angezeigt.Der Code:
void InitDirectDraw() { LPDIRECTDRAW lpDD_temp; if(DirectDrawCreate(NULL, &lpDD_temp, NULL) != DD_OK) { MessageBox(NULL, "Error Creating DirectDraw!", "Error", MB_OK | MB_ICONERROR); } if(lpDD_temp->SetCooperativeLevel(MainHWND, DDSCL_NORMAL) != DD_OK) { MessageBox(NULL, "Error Setting Cooperative Level!", "Error", MB_OK | MB_ICONERROR); } if(lpDD_temp->QueryInterface(IID_IDirectDraw7, (LPVOID*)&lpDD) != DD_OK) { MessageBox(NULL, "Error Querying DirectDraw7 Interface!", "Error", MB_OK | MB_ICONERROR); } ddsd.dwSize = sizeof(ddsd); ddsd.dwFlags = DDSD_CAPS; ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE; if(lpDD->CreateSurface(&ddsd, &lpDDS_Primary, NULL) != DD_OK) { MessageBox(NULL, "Error Creating Primary Surface!", "Error", MB_OK | MB_ICONERROR); } }
-
Mit was programmierst du? Bei BCB musst du zB. das Handle des vom Builder erzeugten Fensters nutzen und brauchst kein zweites erstellen. Sonst kann es zu sowas kommen.
Gruß, Squall
-
Naja ich weiß ja nicht, aber wieso setzt du mit der alten DDraw Schnittstelle den Cooperative-Level ? Hol doch erst die neue und setze dann den CooperativeLevel und DisplayMode.