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.


Anmelden zum Antworten